RESTful API 命名规则

RESTful API naming convention

我有两个collections:宠物。一个人想养多少只就养多少只。

个人文件:

person {
  id: person-id
  data: person-info
}

宠物文档:

pet {
  id: pet-id
  data: pet-info
  personId: person-id
}

这是我的API命名设计

我的 API 命名约定有问题吗?如何改进?我认为将 person-id 直接传递给 /api/pets 有点奇怪。

可在此处找到命名约定:https://restfulapi.net/resource-naming/

另请再次检查 HTTP 方法和 REST。 基本概念是 URLs 代表资源,您应用于这些 URLs 的 HTTP 方法表明您要对这些资源执行的操作。

GET - 阅读资源 PUT/POST - 创建资源 PATCH - 更新资源 DELTE - 删除资源

因此,如果您只更改资源的一部分属性,也许您可​​以使用 PATCH 而不是 PUT 来更新资源。

另外,在 DELETE 示例中,您应该使用宠物 ID 作为路径变量,而不是人员 ID。

为了获得一个人的所有宠物,我认为 /api/person/id/pets 可能比 /api/pets/personid 更直接,因为当您看到 URL /api/pets/23 时您不知道如果它是宠物 23 或 id 为 23 的人的所有宠物。

再次考虑最佳做法(只需使用您选择的搜索引擎);)