Spring REST Docs + RequestBody + 防止字段的深层文档
Spring REST Docs + RequestBody + Prevent deep-level documentation of fields
我在使用 Spring REST 文档时遇到问题,无法对请求正文中的字段进行深入记录:
@Transactional
@RequestMapping(path = "/edit", method = RequestMethod.POST)
public ResponseEntity<Void> edit(
@RequestParam("id") Long id,
@RequestBody TreeItemResource root)
和文档测试:
@Test
public void edit() throws Exception {
//...
this.getMockMvc(this.controller).perform(post("/edit"))
.andDo(document("root",
requestFields(
subsectionWithPath("childs"))));
}
这个测试需要很多时间,输出如下:
root.childs[].childs[].childs[].childs[].childs[].childs[].path
我该如何防止这种情况?
我找到了解决办法!
注解@RestdocsNotExpanded就是为了这个目的。您必须注释不应在 REST Api 文档中扩展的 DTO 字段。
我在使用 Spring REST 文档时遇到问题,无法对请求正文中的字段进行深入记录:
@Transactional
@RequestMapping(path = "/edit", method = RequestMethod.POST)
public ResponseEntity<Void> edit(
@RequestParam("id") Long id,
@RequestBody TreeItemResource root)
和文档测试:
@Test
public void edit() throws Exception {
//...
this.getMockMvc(this.controller).perform(post("/edit"))
.andDo(document("root",
requestFields(
subsectionWithPath("childs"))));
}
这个测试需要很多时间,输出如下:
root.childs[].childs[].childs[].childs[].childs[].childs[].path
我该如何防止这种情况?
我找到了解决办法!
注解@RestdocsNotExpanded就是为了这个目的。您必须注释不应在 REST Api 文档中扩展的 DTO 字段。