问题描述
我在使用 Spring REST Docs 时遇到问题,并阻止了请求正文中字段的深层文档:
@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 字段。