是否在DELETE之后返回集合的其余部分是否是错误的做法

时间:2018-11-16 13:21:19

标签: rest http

假设我们有一个rest api和一个collection(最多15个项目)。 客户端正在发布集合中一项的DELETE。 返回集合中的剩余项目是否被认为是不好的做法? DELETE是否应该返回始终为空的正文?如果不是不好的做法,正确的状态代码是什么?

我的主要问题是,有一个items列表,我有DELETE个,可以返回remaining items列表吗?

2 个答案:

答案 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实质上更新集合。

没有。不要返回集合的其余部分。返回状态码。