我正在研究客户端和服务器应用程序,并遇到了一个有趣的问题。我们正在创建一个安静的API并使用JSON响应与客户端进行通信。在执行DELETE时,我们返回200 OK并显示空白响应。我们的客户正在获得200 OK,但未能解析JSON。
我们完全理解失败的解析(没有什么要解析),但我们有一个更大的问题。发送空白响应有效JSON,还是应该返回{}
或其他类似的东西?感谢。
答案 0 :(得分:13)
关于DELETE方法的HTTP/1.1 definition:
如果响应包含一个,那么成功的响应应该是200(OK) 描述状态的实体,202(已接受),如果操作尚未执行 已经颁布,或者如果行动已经颁布,则为204(无内容) 响应不包括实体。
因此,如果您的服务器立即删除该项目,那么建议的响应将是:
答案 1 :(得分:7)
在这里进行快速测试:http://jsonlint.com/显示空白是无效的JSON,而{}
是有效的JSON。