有没有办法找到一个RestAPI支持的所有操作和操作需要的参数?

Is there a way to find all operations supported by a RestAPI and parameters needed for operations?

假设我创建了一个 Rest 服务 http://SomeServer/api/todo,并安装在服务器上。现在有没有办法让客户端仅通过 URL 找出此 Rest API 提供的所有 operations/functionality?

例如如果你用 get 方法点击下面的 URL,它会 return todo item 1 的详细信息 http://SomeServer/api/todo/1

这正是 Swagger 为您提供的。它还有一个 UI,您可以轻松连接到您的 REST 应用程序。

看看:

https://swagger.io/

您可能想要使用 hateoas。就是像 html 这样简单的词。当您浏览 html 页面时,您可以通过链接导航到其他页面。类似的方式,使用 hateoas,您的 API 响应具有指向其他相关 API 的链接。

示例:

假设您有一个获取用户 API - http://serverAddr/user/1
假设响应是用户详细信息。使用 hateoas,您将获得一个以 _links 为键的列表,其中将包含其他相关网址,例如 http://serverAddr/delete/user/1