我想知道是否有可能以编程方式发现特定 API 的所有端点。
例如,如果我使用浏览器或 curl 获取此 URL: https://api.twitter.com/1.1/
我可能会得到这样的 JSON 响应:
"TwitterAPI":{
"version" : 1.1,
"GET" : {
"search/" : ["users", "trending"],
"users/" : ["id", "handle"]
}
}
当然 Twitter 可以选择发布或不发布这种格式。那么作为一个附带问题,是否有任何 Java 或 JavaScript 库可以自动映射和发布您在 Controller 中创建的 API 路由?
最佳答案
There is no way of programmatically discovering REST services as they do not have a standard registry service.
除了做一些疯狂的蛮力搜索之外,没有办法找到正确的 URL(更不用说正确的参数了)。所以唯一的选择是记录你的 API。到目前为止,我看到的最佳选择是:
- Swagger
- 还有人喜欢 API Blueprint .
关于java - 有没有办法发现 REST API 的所有端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28993724/