我偶然发现了这种做法我认为是相当普遍的。 我甚至发现了一个网页,给了这个名字,但名字我忘记了,我不能够找到对谷歌该网页了。
其做法是,从一个REST服务的每一个JSON响应应具有以下结构:
{
"status": "ok",
"data": { ... }
}
或在出现错误的情况下:
{
"status": "error",
"message": "Something went wrong"
}
我的问题:什么是为什么要在JSON需要这样的“状态”属性点? 在我看来这就是HTTP状态代码是为制作。
REST使用客户端和服务器,例如“删除”动词应该用于删除之间的通信的HTTP手段。 以同样的方式,404应该如果资源没有找到,等于是用这种思维内联,任何错误的情况下,应在适当的HTTP状态编码使用。
有没有在一个错误的情况下在JSON,而不是返回一个HTTP 200状态码,有故障的具体原因? 这似乎只是处理响应时做出的JavaScript条件分支更加复杂。
我发现了一些情况下,状态可能是“重定向”告诉应用程序重定向到特定URL中。 但是,如果使用正确的HTTP状态代码,浏览器将执行重定向“免费”,正确维护浏览历史记录。
我从图片你主要是两个可能的答案:
- 要么有自己喜欢的方式每两个争吵社区(使用HTTP状态总是与使用HTTP状态从不)
- 或者我错过了一个重要的观点,你会告诉我,虽然HTTP状态应该用于某些情况下,存在一个HTTP状态不适合和“状态” JSON产权进场具体案件。