如何为特定资源的类型定义 URI

How to define URI for types of a certain resource

目前,我有一个 API 用于显示使用这条路线的景点列表:GET /spots

我还有一个 API 可以获取特定地点的详细信息:GET /spots/{spot-id}

现在,我将制作另一个 API,它显示所有景点的类别。你们知道解决这个问题的正确方法吗?

到目前为止,我已经决定使用 GET /spots/categories,但我的经理说 spots 资源有类别有点奇怪。

他目前的建议是 GET /spot-categoriesGET /spotcategories

此外,作为参考,我有数据库表 spotspot_category

谢谢!

我倾向于同意你的经理的观点,你的 spotcategories 看起来完全是一个不同的实体,因此作为一种资源,它应该单独 url。也就是说,如果目标是找到特定地点的类别(而不是简单地浏览不同的可用地点类别),您应该只能通过这些地点导航到它们(假设您的 API 是在 level 3 of the Richardson Maturity Model 上)。如link从景点到类别(或简单地嵌入它们,具体取决于使用要求)。

所以你最终可能会得到类似

的结果
GET /spots/{spot-id}/categories