通过Spring Rest Docs的文档ModelAttribute

时间:2019-03-21 12:02:08

标签: spring spring-boot spring-test spring-test-mvc spring-restdocs

我使用@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());

}

所有这些都可以正常工作,但是当我尝试生成文档时,正文/请求参数/请求部分中没有模型属性。

如何对其进行记录?

0 个答案:

没有答案