响应中的有效JSON

时间:2012-08-15 14:16:14

标签: json api http rest

我正在研究客户端和服务器应用程序,并遇到了一个有趣的问题。我们正在创建一个安静的API并使用JSON响应与客户端进行通信。在执行DELETE时,我们返回200 OK并显示空白响应。我们的客户正在获得200 OK,但未能解析JSON。

我们完全理解失败的解析(没有什么要解析),但我们有一个更大的问题。发送空白响应有效JSON,还是应该返回{}或其他类似的东西?感谢。

2 个答案:

答案 0 :(得分:13)

关于DELETE方法的HTTP/1.1 definition

  

如果响应包含一个,那么成功的响应应该是200(OK)   描述状态的实体,202(已接受),如果操作尚未执行   已经颁布,或者如果行动已经颁布,则为204(无内容)   响应不包括实体。

因此,如果您的服务器立即删除该项目,那么建议的响应将是:

  • 200 OK - 返回某种状态代码(如布尔值true或字符串"成功")
  • 204 No Content - 不返回任何内容,让您的客户注意此响应,而不是尝试JSON解析,同时仍然知道请求成功

答案 1 :(得分:7)

在这里进行快速测试:http://jsonlint.com/显示空白是无效的JSON,而{}是有效的JSON。