меня есть метод контроллера с PUT
методом, который принимает многослойную/форм-данных:Как PUT multipart/form-data использовать Spring MockMvc?
@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)
EDIT:
Конечно, я могу
я не могу создать свою собственную реализацию MockHttpServletRequestBuilder
, скажем
public MockPutMultipartHttpServletRequestBuilder(String urlTemplate, Object... urlVariables) {
super(HttpMethod.PUT, urlTemplate, urlVariables);
super.contentType(MediaType.MULTIPART_FORM_DATA);
}
потому что MockHttpServletRequestBuilder
имеет локальный конструктор пакетов.
Но мне интересно, удобнее ли?
Есть ли способ сделать это, может быть, я пропустил какой-нибудь существующий класс или метод для этого?
Не могли бы вы отметить мой ответ как принятый ответ? Это поможет сохранить безопасность и эффективность StackOverflow. Благодаря! – HammerNL
Выполнено =======>> – Andremoniy