如何为特定资源的类型定义 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-categories
和 GET /spotcategories
。
此外,作为参考,我有数据库表 spot
和 spot_category
。
谢谢!
我倾向于同意你的经理的观点,你的 spotcategories 看起来完全是一个不同的实体,因此作为一种资源,它应该单独 url。也就是说,如果目标是找到特定地点的类别(而不是简单地浏览不同的可用地点类别),您应该只能通过这些地点导航到它们(假设您的 API 是在 level 3 of the Richardson Maturity Model 上)。如link从景点到类别(或简单地嵌入它们,具体取决于使用要求)。
所以你最终可能会得到类似
的结果
GET /spots/{spot-id}/categories
目前,我有一个 API 用于显示使用这条路线的景点列表:GET /spots
我还有一个 API 可以获取特定地点的详细信息:GET /spots/{spot-id}
现在,我将制作另一个 API,它显示所有景点的类别。你们知道解决这个问题的正确方法吗?
到目前为止,我已经决定使用 GET /spots/categories
,但我的经理说 spots 资源有类别有点奇怪。
他目前的建议是 GET /spot-categories
和 GET /spotcategories
。
此外,作为参考,我有数据库表 spot
和 spot_category
。
谢谢!
我倾向于同意你的经理的观点,你的 spotcategories 看起来完全是一个不同的实体,因此作为一种资源,它应该单独 url。也就是说,如果目标是找到特定地点的类别(而不是简单地浏览不同的可用地点类别),您应该只能通过这些地点导航到它们(假设您的 API 是在 level 3 of the Richardson Maturity Model 上)。如link从景点到类别(或简单地嵌入它们,具体取决于使用要求)。
所以你最终可能会得到类似
的结果GET /spots/{spot-id}/categories