【发布时间】:2016-11-29 00:42:39
【问题描述】:
我有一个带有PUT 方法的控制器方法,它接收multipart/form-data:
@RequestMapping(value = "/putIn", method = RequestMethod.PUT)
public Foo updateFoo(HttpServletRequest request,
@RequestBody Foo foo,
@RequestParam("foo_icon") MultipartFile file) {
...
}
我想使用MockMvc 对其进行测试。不幸的是,MockMvcRequestBuilders.fileUpload 本质上创建了一个 MockMultipartHttpServletRequestBuilder 的实例,它有一个 POST 方法:
super(HttpMethod.POST, urlTemplate, urlVariables)
编辑:
我当然可以 我不能创建我自己的MockHttpServletRequestBuilder 实现,比如说
public MockPutMultipartHttpServletRequestBuilder(String urlTemplate, Object... urlVariables) {
super(HttpMethod.PUT, urlTemplate, urlVariables);
super.contentType(MediaType.MULTIPART_FORM_DATA);
}
因为MockHttpServletRequestBuilder 有一个包本地构造函数。
但我想知道有没有更方便的有什么办法可以做到这一点,可能我错过了一些现有的类或方法吗?
【问题讨论】:
-
您能否将我的答案标记为已接受的答案?这将有助于保持 StackOverflow 的清洁和高效。谢谢!
标签: java spring multipartform-data spring-test-mvc mockmvc