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