我正在为事件管理开发API。我有基本的GET和POST方法,但现在我必须处理事件资源版本。
用户可以使用以下方式编辑所有活动信息:
/event/:eventId
但它也可以取消该事件(不删除它,但更改它的status
属性)。
我正在考虑使用此终端:
/event/:eventId
并发送仅包含新status
属性值的正文。我认为这是一个很好的方法,但后来我注意到状态只能设置为CANCELLED
,在某些情况下,事件的其他允许状态会在业务逻辑中自动更改。
因此,如果您只能将其更改为一个可能的值,那么发送status
字段根本没有意义。
因此,对PATCH方法不发送任何主体是否可能而不是一个坏习惯?感谢。
答案 0 :(得分:0)
我建议将PATCH端点设置为/ event / {eventId} / status。 无需将有效负载添加到您的PATCH请求中,有效负载是可选的。
API对最终用户应该是有意义的。使用PATCH,您可以让用户知道要对事件记录进行部分更新,以提供要执行操作的属性id和状态。
此外,请确保您的API文档提供的详细信息是状态默认情况下将设置为“已取消”。将来,如果需要,您可以通过添加有效负载{“ status”:“ CANCELLED | ENABLED | ..”}
来扩展API。