我想知道人们对在响应体中不返回任何(null)的RESTful PUT操作有什么看法。


当前回答

“Created”的Http响应代码201以及指向客户端可以找到新创建资源的“Location”标头。

其他回答

空的Request体符合GET请求的原始目的,空的响应体也符合PUT请求的原始目的。

我认为服务器可以返回内容以响应PUT。如果您正在使用允许侧载数据的响应信封格式(例如ember-data所使用的格式),那么您还可以包括其他可能通过数据库触发器修改过的对象,等等(侧载数据显式地减少了请求的数量,这似乎是一个优化的好地方)。

如果我只是接受PUT,没有任何报告,我使用状态代码204,没有正文。如果我有什么要报告的,我会使用状态代码200,并包含一个主体。

Http方法“PUT”可能具有不同的Http状态,根据传递的请求- uri的执行状态。下表可能有助于理解-

“Created”的Http响应代码201以及指向客户端可以找到新创建资源的“Location”标头。

HTTP响应的头和正文之间是有区别的。PUT永远不应该返回正文,但必须在报头中返回响应代码。如果成功就选择200,如果不成功就选择4xx。没有空返回码这样的东西。你为什么想做这个?