我正在使用
spring-mvc
创建 servlet,例如:
@RestController
public class MyServlet {
@GetMapping("/test")
public MyRsp test(MyReq req) {
//...
}
}
现在,如果用户访问我的应用程序的根目录
localhost:8080/my-app
,它应该显示可用的GET
和POST
方法的列表。最多有可能的输入参数、可接受的标头等。
问题:任何 Spring 框架都可以实现这一点吗,比如
HATEOAS
?
我希望框架能够自动检测任何
@RestController
和包含的方法。
或者我必须自己创建该概述页面吗?
Swagger 2 是另一种选择。阅读以下内容以了解有关 swagger 以及如何设置的更多信息。
使用 Spring REST API 设置 Swagger 2
您还可以为其余 api 创建 swagger 定义,客户端可以使用它来生成客户端类。
swagger ui 也可用于测试/调用您的 API。 swagger 提供了一个用户界面,您可以在其中输入所有 api 输入,例如查询参数、路径参数、请求正文、标头。
您可以查看这个项目Spring Restdocs(github),它允许您生成随时可用的REST文档。由Spring团队官方维护:
该项目的主要目标是使记录变得容易 通过组合使用手写内容来提供 RESTful 服务 Asciidoctor 具有使用 Spring MVC 生成的自动生成示例 测试框架。结果旨在使用户易于阅读 指南,例如类似于 GitHub 的 API 文档,而不是 由诸如以下工具生成的完全自动化、密集的 API 文档 大摇大摆.
另一个选择是使用Swagger,它也支持自下而上的方法:
自下而上的方法,您有一个现有的 REST API,您可以使用它 想要创建一个 Swagger 定义。要么你创建定义 手动(使用上面提到的相同的 Swagger 编辑器),或者如果您 正在使用受支持的框架之一(JAX-RS、node.js 等),您 可以自动为您生成 Swagger 定义。