gpt4 book ai didi

rest - 这如何映射到 RESTful 接口(interface)?

转载 作者:行者123 更新时间:2023-12-03 09:53:28 27 4
gpt4 key购买 nike

我正在构建一个小工具来帮助人们决定团体事件,比如他们应该去哪家餐厅吃午饭。我的对象是事件、选项和偏好。一个事件有几个选项,用户可以按顺序对发明的选项进行排名。所以一个用户的投票可能是1:选项B,2:选项A,3:选项C。

我的问题是将其映射到 REST 的最佳方法是什么?似乎很清楚我应该支持事件的 CRUD,

GET /events/ : list of events
POST /events/ : create a new event
GET /events/1 : get event one
and on options with:
POST /events/1/options : add a new option to the event

(在所有情况下,都必须有经过身份验证的用户)

我感到困惑的是用户如何对事件的选项进行投票。似乎最适合 REST 的是为每个选项做一个 PUT,到/events/1/options/1/vote,但这似乎很难在投票之间强制执行要求,例如,如果我想强制投票来对选项进行排序,如果我一次获得所有投票,我可以这样做,如 1 B、2 A、3 C,但如果用户将他的投票更改为 1 C、2 B、3 A,在这些请求之间,应用程序将处于无效状态。

我应该将投票作为一个包,并在/events/1/votes 中访问它们吗?

(对于周末项目来说,这似乎是过多的计划,但我的目的是把它做好,因为我没有那么奢侈地编写有报酬的代码。)

最佳答案

由于投票是与用户、投票和选项相关的记录,因此我将投票设计为 POST/votes ,本质上作为这些投票记录的创建操作。然后,您显然可以将多个投票组合成一个类似于以下示例(在 json 中)的请求:

POST /votes
[
{ option: 38, vote: 2 },
{ option: 39, vote: 1 },
{ option: 40, vote: 0 }
]

在服务器上填写用户并在一致性检查后返回适当的状态代码。

关于rest - 这如何映射到 RESTful 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1182934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com