我非常喜欢使用Javadoc注释自动生成REST Docs的想法!
我们的REST API的大部分由Spring Data REST自动生成(通过将@RepositoryRestResource添加到存储库)。如果还可以为这些生成REST Docs会很好 - 这将是一个非常高程度的自动化。
但不幸的是,大多数“自动”片段都是“空的”(例如,auto-response-fields.adoc只包含一个链接列表[] - 属性)。我想原因可能是REST控制器可能是由Spring Data REST动态创建的。目前我没有看到如何为他们重用Javadoc评论。
有没有办法为Spring Data REST提供的REST API自动生成REST Docs? 甚至有助于手动告诉Spring Auto REST Docs在请求和响应中使用哪些类而不是让它静态发现它 - 这可能吗?
我们还将HATEOAS“_links”添加到大多数响应资源中(通过将ResourceProcessors提供为Bean)。这些链接包含Spring REST Docs使用的“标题” - 如果我们使用HypermediaDocumentation.linkWithRel(...)列出所有这些链接。这有点多余,如果所有带有“标题”的_links都可以自动处理,那就太好了。 (但这可以通过在一些额外的代码中列出所有这些来完成,因此它没有Spring Data REST那么糟糕。)
如果有必要,我还可以为我所说的创建一个示例项目。
答案 0 :(得分:0)
回答一个问题,即是否可以手动告诉Spring Auto REST Docs哪些类用于文档:
Spring Auto REST Docs允许指定用于文档的请求和响应类。这可以使用requestBodyAsType和responseBodyAsType来完成。在测试中它看起来像这样:
.andDo(document("folderName",
requestFields().requestBodyAsType(Command.class),
responseFields().responseBodyAsType(CommandResult.class)));