我有一个方法,如" 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
答案 0 :(得分:10)
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 }