假设我有一个名为“Session”的资源。客户端将调用 PUT 来创建并开始新会话。当客户端完成会话后,它不应该再被访问,但由于历史/责任原因应该持续存在。
要结束会话,发出 DELETE 请求(这在语义上看起来更接近预期效果)是否更合适,或者发出 POST(因为资源实际上并未永久删除)是否更合适?
这里的问题是:请求是幂等的 https://en.wikipedia.org/wiki/Idempotence#Examples?如果执行同一个请求两次,会产生副作用吗?就像您订购一篇文章一样,执行两次订单请求就会获得两次该文章。
在这种情况下,POST
是你想要的方法。如果没有,那么你想要PUT
or DELETE
.
由于您似乎没有删除会话,只是更改其状态,PUT
将是一个更好的方法,因为这意味着资源被更改,而不是被删除,这就是您的情况。
Edit:
如果资源似乎已从客户端删除,DELETE
似乎更合适。后面如何实现对于客户来说并不重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)