【发布时间】:2019-12-29 15:24:09
【问题描述】:
假设有一个活动托管服务。主持人可以使用以下方式登录和创建活动:
POST /events 创建活动
GET /events 获取主机创建的所有事件
GET /events/1 获取 ID 为 1 的事件(如果由主机创建,则错误)
现在主持人想要为客人可以回复的活动生成批量邀请码,并且主持人应该能够看到回复。主持人只能分享给客人分享代码,不想分享活动ID(因为看起来不太酷)
POST /events/1/invites 带有生成代码的受邀者列表
GET /event/1/invites 获取受邀者列表并查看他们的回复
GET /event/1/invites/SECRET007 获取特定邀请的回复
目前看起来不错,但邀请 RSVP 的约定是什么?
一个选项是:PUT /invites/SECRET007,但问题是它与它的 GET 对应项不匹配。
另一种选择是保留 PUT API 并更改所有其他 API 以供邀请
POST /invites body : { event:1 ...} 带有生成代码的受邀者列表
GET /invites?event=1 获取受邀者列表并查看他们的回复
GET /invites/SECRET007 获得邀请
但在这种情况下,GET /invites 没有意义,它必须始终使用事件 ID 调用。
这里要遵循的正确约定是什么?
编辑:这里的重要要求是主机只能与客人共享邀请,并且客人应该能够仅使用该 ID 回复。
【问题讨论】:
标签: rest api microservices