Как отправить multipart / form-данные в Mock MVC? - PullRequest
0 голосов
/ 17 апреля 2020

Я создал контроллер, который будет использовать 'multipart / form-data'

@PostMapping(value="/sample")
public void sample(
    @ModelAttribute("request") SampleRequest request){
    // codes
}

SampleRequest объект

@NotNull
private MultipartFile file;

@Pattern(regexp = "^[0-9A-Za-z]*")
private String fileName;

private String other;

А теперь я попытаюсь протестировать его, используя Ложно MVC, но я не знаю, как передать 'multipart / form-data' как контент. Я видел много примеров, используя JSON, но не с multipart / form-data

mockMvc.perform(post(path)
        .servletPath(path)
        .headers(headers)
        .contentType(MediaType.MULTIPART_FORM_DATA)
        .content(request)) // -> How to put the multipart/form-data here
        .andDo(print())
        .andReturn();

Есть ли способ выполнить мой запрос с помощью multipart / form_data? В идеале это должно быть в теле MockHttpServletRequest

MockHttpServletRequest:
  HTTP Method = POST
  Request URI = --path
  Parameters = {}
  Headers = --headers
  Body = null
...