1

我有一个像“setAsViewed”这样的方法,它需要一个 Id 并只是翻转一个布尔值,但我不确定这里的四个选项中哪一个最好。我的想法是我想发送尽可能少的数据,所以 {id} 选项之一是最好的。而且由于 PUT 通常对应于更新,所以我倾向于第一个。这里有什么约定?

翻转给定对象的布尔字段的选项(我能想到的):

1. PUT /api/objects/setasviewed/1
2. PUT /api/object/setasviewed
3. POST /api/objects/setasviewed/1
4. POST /api/object/setasviewed
4

1 回答 1

11

REST 快速指南:

GET /api/objects : 列出对象

GET /api/objects/1:获取 id == 1 的对象

POST /api/objects:使用发布的数据创建一个新对象(完整模型)

PUT /api/objects/1:使用已发布的数据更新 id == 1 的对象(完整模型)

PATCH /api/objects/1:使用部分数据(部分模型)更新 id == 1 的对象

POST /api/objects/1/someprocedure:在 id == 1 的对象上运行一些过程

所以在你的场景中,它应该是:

POST /api/objects/1/setasviewed

也许:

PATCH /api/objects/1

使用发布的数据:

{ "viewed" : true }
于 2013-03-07T17:04:36.990 回答