假设我们有一个rest api和一个collection(最多15个项目)。
客户端正在发布集合中一项的DELETE
。
返回集合中的剩余项目是否被认为是不好的做法? DELETE
是否应该返回始终为空的正文?如果不是不好的做法,正确的状态代码是什么?
我的主要问题是,有一个items
列表,我有DELETE
个,可以返回remaining items
列表吗?
答案 0 :(得分:2)
根据RFC 7231的定义:
如果成功应用DELETE方法,则原始服务器 如果该动作可能会发送202(接受)状态代码 成功,但尚未颁布,状态为204(无内容) 如果已执行操作且没有更多信息,则输入代码 要提供的信息;如果已执行操作,则返回200(OK)状态码 制定并且响应消息包括表示 描述状态。
Mozilla为其提供了一个示例:
HTTP/1.1 200 OK
Date: Wed, 21 Oct 2015 07:28:00 GMT
<html>
<body>
<h1>File deleted.</h1>
</body>
</html>
答案 1 :(得分:0)
从我的角度来看,如果您的收藏夹本身就是一种资源,那么DELETE应该删除整个收藏夹(而不是一部分),在这种情况下,成功删除后我将返回200 OK。
如果要删除一个特定的资源(不是集合),则以其自己的URI删除它,并返回200 OK。
请不要篡改DELETE实质上更新集合。
没有。不要返回集合的其余部分。返回状态码。