Я использую @ModelAttribute
, чтобы комментировать dto, содержащее MultipartFile
(ответ: https://stackoverflow.com/a/49991403)
@PostMapping(value = "test")
public void test(
@ModelAttribute Test test
) {
System.out.println("test");
}
@Data
public static class Test {
private String string;
private MultipartFile file;
}
И я проверяю эту конечную точку с помощью WebMvcTest. Я устанавливаю атрибут модели ModelAttribute как flashAttr
(ответ: https://stackoverflow.com/a/46177558)
@Test
public void test() throws Exception {
ImageController.Test t = new ImageController.Test();
MockMultipartFile file = new MockMultipartFile("data", "originalName", "image/png", new byte[] {});
t.setString("test");
t.setFile(file);
mockMvc.perform(
post("/api/images/test")
.flashAttr("test", t)
.contentType(MediaType.MULTIPART_FORM_DATA)
.with(csrf())
).andDo(print())
.andDo(document(
"{class-name}/{method-name}",
preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())
))
.andExpect(status().isOk());
}
Все это также работает, но когда я пытаюсь сгенерировать документы, в теле / параметрах запроса / частях запроса нет атрибута модели.
Как это тоже документировать?