假设我们有以下用户文档:
{
"_id": "1",
"firstName": "Joe",
"hobbies": [
"_id": "1",
"name": "music",
"talented": true
],
}
因此,假设我们想要发布、修补或删除 Joey 的一项爱好。我们应该如何继续使用 rest api?
我想过做这样的事情:
POST - /users/:id/hobbies
PATCH - /users/:id/hobbies/:id
DELETE - /users/:id/hobbies/:id
这看起来非常语义化且易于阅读,但另一方面,将子文档名称作为资源附加到路由中感觉不对,因为它是子文档并且属于主用户文档。
所以,我认为的另一种方法是简单地为主用户文档打补丁:
PATCH - /users/:id/
哪种休息路线结构对于完成这些任务是正确的?