RESTful API 的根资源应该有什么?

Dav*_*d V 3 rest restful-architecture

向 API 请求“/cats”会返回猫的集合,而请求“/cats/123”会返回 id 为“123”的猫

我的问题是:请求“/”(API 的根)时应该响应什么?

也许是包含 API 中所有集合名称的索引?

Rob*_*gam 5

这个问题可能没有客观的答案,但一个很酷的 API 应该是可浏览的。这意味着,给定一个起始 URI,应该可以“发现”完整的 API,因此拥有一个链接到 API 的所有不同部分的根资源肯定会有所帮助。

即使所有服务都是单独的应用程序(想想微服务),我仍然会创建一项服务来为所有服务提供“启动”链接,从而真正为整个应用程序提供一个入口点。

我的意思是,不仅供人类浏览,而且客户端也会从第一个 URI 开始。始终,除非使用以前状态的书签(并且在给定重定向或未找到时需要维护这些书签)。