Java 有没有一种方法可以发现RESTAPI的所有端点?
我想知道是否有可能以编程方式发现特定API的所有端点 例如,如果我使用浏览器或curl获取此URL: 我可能会得到类似这样的JSON响应:Java 有没有一种方法可以发现RESTAPI的所有端点?,java,javascript,http,facebook-graph-api,curl,Java,Javascript,Http,Facebook Graph Api,Curl,我想知道是否有可能以编程方式发现特定API的所有端点 例如,如果我使用浏览器或curl获取此URL: 我可能会得到类似这样的JSON响应: {"TwitterAPI":{ "version" : 1.1, "GET" : { "search/" : ["users", "trending"], "users/" : ["id", "handle"] } } 当然,Twitter可以选择发布或不发布这种格式。作为一个附带问题,是否有Jav
{"TwitterAPI":{
"version" : 1.1,
"GET" : {
"search/" : ["users", "trending"],
"users/" : ["id", "handle"]
}
}
当然,Twitter可以选择发布或不发布这种格式。作为一个附带问题,是否有Java或Javascript库可以自动映射和发布您在控制器中创建的API路由 一些RESTful API发布了一个Web应用程序描述语言资源(WADL,简而言之,发音类似于鸭子走路)。默认情况下,JAX-RS或至少Jersy webapps将在应用程序根URL/application.wadl处执行此操作。Twitter的API似乎不是其中之一。许多REST纯粹主义者认为,API应该是自描述和自发现的,只需与它交互并查看它将提供给您什么其他端点即可 没有办法在REST服务运行时以编程方式发现它们 没有标准的注册表服务 除了做一些疯狂的暴力搜索之外,没有办法找到正确的URL(更不用说正确的参数了)。因此,唯一的选择是记录API。因此,到目前为止,我看到的最佳选择是:
- 人们也喜欢
这里的其他答案根本是错误的,因为他们没有承认REST的最基本原则。这取决于制作人是否做过类似于发现服务的事情。如果没有,那恐怕你不能。回答得好,谢谢你的参考!下面的WADL答案也很好,但我认为这些建议更有用。事实上,让我们暂时不回答这个问题,看看我们是否能得到更多有用的答案。你正在伤害实践和理论之间的冲突,真正的是用户总是赢的。Rest更多的是你们所说的指导原则,而不是实际的规则。人们如何才能真正看到这些链接呢?