我想知道是否有一些关于 REST Web 服务的根端点的最佳实践?我的意思是,它应该是关于 API 本身使用的简短文档吗?它应该是描述所有可用方法的 XML 文档吗?它应该只返回“未知方法”吗?
6 回答
这个问题对我来说很清楚。
我认为它应该以 404 响应。如果没有与根路径关联的资源,则没有任何内容可返回。
如果你觉得 404 没有帮助,那么返回文档的 URL 也是可以的。
REST 应该是自我描述的,因此在我看来,让根显示错误是糟糕的设计。我喜欢根目录包含允许您浏览 API 其余部分的信息。例如,根目录可能包含指向产品类别列表的链接,API 用户可以从中选择一个类别,然后是产品列表等。自我描述的 API 意味着需要编写和保持更新的文档更少!
1. NerdDinner 使用 WCF 数据服务,这是正确实现 RESTful 服务的好方法。我之所以指出这一点,而不是直接指向 WCF 数据服务,是因为它是一个公共网站,您可以使用它。2. MediaWiki 不是一个很好的例子,因为它们在 URI 中传递动作,但从技术上讲,它是一个 RESTful 服务,并且展示了很多有趣的想法。
所问的这个问题不清楚。我猜这意味着类似于所有 API 方法所在的目录。例如,Flickr API 的根目录是http://api.flickr.com/services/rest/。
有关访问 Flickr API 的项目示例,请参阅python-flickrapi
REST API 的根端点是为 dispatcher-servlet 之后的 url 的第一个斜杠即“/”定义的 API。它包含资源列表的所有 GET(主要是所有数据库表的 get)此列表进一步包含所有项目,并且在单个项目中将有 DELETE、PUT/PATCH 和 SELF 获取 URL。从而实现HATEOS。
对我来说,我只是重定向到我的前端。
在节点 JS 中,使用res.redirect("https://<<your frontend>>");