我有两个收藏集:人和宠物。一个人可能拥有想要的宠物。
人员文档:
person {
id: person-id
data: person-info
}
宠物文档:
pet {
id: pet-id
data: pet-info
personId: person-id
}
这是我的API命名设计
我的API命名约定是否有问题,如何改善?我认为直接将person-id传递给 / api / pets 有点奇怪。
答案 0 :(得分:1)
可以在这里找到命名约定:https://restfulapi.net/resource-naming/
也请再次检查HTTP方法和REST。 基本概念是URL代表资源,而您应用于这些URL的HTTP方法表明您要使用这些资源。
GET-读取资源 PUT / POST-创建资源 PATCH-更新资源 DELTE-删除资源
因此,如果仅更改资源属性的一部分,也许可以使用PATCH而不是PUT来更新资源。
此外,在DELETE示例中,您应该将pet id用作路径变量,而不是person id。
要获取一个人的所有宠物,我认为/ api / person / id / pets可能比/ api / pets / personid更直接,因为当您看到URL / api / pets / 23时,您不知道是宠物23还是ID为23的人的所有宠物。
再次考虑最佳做法(只需使用您选择的搜索引擎);