Thi*_*llo 3 rest design-patterns
什么是用于启用和禁用系统用户的RESTFul模式。
示例:的DELETE请求 /users/123
和的PATCH / UPDATE请求/users/123
还是应该/user/enable/123使用PUT和/user/disable/123DELETE?
首先:DELETE总是删除资源。因此它不能用于更改值。在此处阅读有关不同Http方法及其应如何使用的更多信息:https : //tools.ietf.org/html/rfc7231
您可以通过三种不同的方式解决此问题。最适合您的。
更新用户对象
另一种方法是通过更新User资源。在这种情况下,您可以发送 PUT /users/123带有包含完整更新的用户对象的正文的。
用户对象的部分更新
如果您定义允许您进行部分更新(部分意味着您只需要发送更改后的值,这些值将被合并到现有用户对象中),则可以发送一个PATCH /users/123包含json的{enabled:true}。在后端通常很难处理。
直接设置启用的属性(不推荐)
enabled是的属性User。您可以在那里直接在您的URL中解决此属性。您可以使用PUT /users/123/enabled包含true或的正文false。对于这种方法,另请参见下面的@Roman Vottner评论