Mam metody kontrolera z PUT
metodę, która odbiera multipart/form-data:Jak wprowadzić dane wieloczęściowe/formularze za pomocą Spring MockMvc?
@RequestMapping(value = "/putIn", method = RequestMethod.PUT)
public Foo updateFoo(HttpServletRequest request,
@RequestBody Foo foo,
@RequestParam("foo_icon") MultipartFile file) {
...
}
i chcę go przetestować za pomocą MockMvc
. Niestety MockMvcRequestBuilders.fileUpload
tworzy zasadniczo wystąpienie MockMultipartHttpServletRequestBuilder
który ma POST
metody:
super(HttpMethod.POST, urlTemplate, urlVariables)
EDIT:
pewnością mogę
nie mogę stworzyć własną implementację MockHttpServletRequestBuilder
, powiedzmy
public MockPutMultipartHttpServletRequestBuilder(String urlTemplate, Object... urlVariables) {
super(HttpMethod.PUT, urlTemplate, urlVariables);
super.contentType(MediaType.MULTIPART_FORM_DATA);
}
ponieważ MockHttpServletRequestBuilder
ma konstruktor-lokalny pakiet.
Ale zastanawiam się, czy nie jest to bardziej wygodne.
Czy można to zrobić, czy można pominąć jakąś istniejącą klasę lub metodę, aby to zrobić?
Czy możesz zaznaczyć moją odpowiedź jako zaakceptowaną odpowiedź? Pomoże to utrzymać czysty i wydajny przepływ StackOverflow. Dzięki! – HammerNL
Jest to zrobione =======> – Andremoniy