1

我真的很喜欢使用 Javadoc 注释自动生成 REST 文档的想法!

我们的 REST API 的大部分是由 Spring Data REST 自动生成的(通过将 @RepositoryRestResource 添加到存储库)。如果也可以为这些生成 REST Docs,那就太好了——那将是高度自动化。

但不幸的是,大多数“自动”片段是“空的”(例如 auto-response-fields.adoc 仅包含链接列表 []-Attributes)。我想原因可能是 REST 控制器可能是由 Spring Data REST 动态创建的。目前我看不到如何为他们重用 Javadoc 注释。

有没有办法为 Spring Data REST 提供的此类 REST API 自动生成 REST 文档?手动告诉 Spring Auto REST Docs 在请求和响应中使用哪些类而不是让它静态发现它甚至会很有帮助——这可能吗?

我们还将 HATEOAS“_links”添加到大多数响应资源(通过将 ResourceProcessors 作为 Bean 提供)。这些链接包含 Spring REST Docs 使用的“标题”——如果我们用 HypermediaDocumentation.linkWithRel(...) 列出所有这些链接。这有点多余,如果可以自动处理所有带有“title”的_links,那就太好了。(但这可以通过在一些额外的代码中列出所有这些来完成,所以它不像 Spring Data REST 那样糟糕。)

如有必要,我还可以为我正在谈论的内容创建一个示例项目。

4

1 回答 1

0

回答是否可以手动告诉 Spring Auto REST Docs 哪些类用于文档:

Spring Auto REST Docs 允许指定用于文档的请求和响应类。这可以通过requestBodyAsTyperesponseBodyAsType来完成。在测试中,它看起来像这样:

  .andDo(document("folderName",
    requestFields().requestBodyAsType(Command.class),                    
    responseFields().responseBodyAsType(CommandResult.class)));

这是来自示例项目中的一个测试

于 2018-02-12T21:22:51.810 回答