我有一个控制器方法,使用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
具有包局部构造函数。
但我想知道是否有更方便的方法来做到这一点,也许我错过了某个用于执行此操作的现有类或方法?