我使用@ModelAttribute
注释包含MultipartFile
(答案:https://stackoverflow.com/a/49991403)的dto
@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());
}
所有这些都可以正常工作,但是当我尝试生成文档时,正文/请求参数/请求部分中没有模型属性。
如何对其进行记录?