6

我正在对 ReST API(在 ServiceStack 上构建)实现 DELETE 支持,并且想知道在成功删除后返回什么响应代码。

HTTP 将 410 定义为:

请求的资源在服务器上不再可用,并且不知道转发地址。预计这种情况将被视为永久性的。具有链接编辑能力的客户端应该在用户批准后删除对 Request-URI 的引用。如果服务器不知道或无法确定条件是否是永久的,则应该使用状态代码 404(未找到)。除非另有说明,否则此响应是可缓存的。

现在,如果一个资源刚刚被DELETEd,我可能确实希望应用其中的许多建议......但公认的做法似乎是200 OK在成功之后返回一个DELETE- 特别是因为该4XX范围应该表示错误条件。

除了 HTTP 规范中的指导方针之外,有任何令人信服的论点吗?

4

1 回答 1

10

RFC 2616 第 9.7 节具体说明了以下关于响应的内容DELETE

如果响应包含描述状态的实体,则成功的响应应该是 200(OK),如果操作尚未制定,则为 202(已接受),如果操作已经制定但响应不包括,则应为 204(无内容)一个实体。

于 2014-01-09T16:13:31.247 回答