[英]Is a RESTful PUT with no data “kosher,” or should a DELETE always be used?
我有一个适用于资源的数组字段的RESTful路由,例如:
放置/:id / mylist
进行PUT时,如果输入为空,则会引发错误。 也就是说,如果传递了空数组。 我需要数组中至少一个元素。 因此,如果资源具有九个元素的数组,并且路由被调用到PUT 3,则这三个将替换现有的九个元素。
但是您不能传递任何元素,因为那样会擦除九个元素,什么也不留下。
但是,不允许使用任何元素-在我看来,允许在PUT中“清除”数组是错误的,因此只能这样做:
删除/:id / mylist
我错了吗? 都可以吗 是一个比另一个更好的选择吗?
我认为对列表资源执行DELETE操作将推断该列表不再存在,并且将来对URL的GET请求将返回404。
但是,使用空列表进行PUT将导致将来的GET请求返回200和空列表(无论如何表示)。
我想说这两种都是有效的方法,仅取决于一种最自然的资源语义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.