如何使用Spring自我描述REST api?

mem*_*und 5 java spring spring-mvc spring-hateoas

spring-mvc用来创建像这样的servlet:

@RestController
public class MyServlet {
   @GetMapping("/test")
   public MyRsp test(MyReq req) {
         //...
   }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果用户访问我的应用程序的根目录localhost:8080/my-app,它应该显示可用的列表GETPOST方法.最好使用可能的输入参数,可接受的标题等.

问题:这有可能与任何弹簧框架一样HATEOAS吗?

我希望有一个框架来自动检测任何@RestController和包含的方法.

或者我是否必须自己创建该概述页面?

Job*_*eph 3

Swagger 2是另一种选择。阅读以下内容以了解有关 swagger 以及如何设置它的更多信息。

使用 Spring REST API 设置 Swagger 2

您还可以为其余 api 创建 swagger 定义,客户端可以使用它来生成客户端类。

此外,swagger ui 还可用于测试/调用您的 API。swagger 提供了一个用户界面,您可以在其中输入所有 api 输入,例如查询参数、路径参数、请求正文、标头。

示例 Swagger UI