我正在实现一个返回JSON编码的有效负载的Web服务。如果服务调用失败(例如,由于参数无效),则返回JSON编码的错误。但是,我不确定在这种情况下应返回什么HTTP状态代码。
一方面,似乎HTTP状态代码用于HTTP:即使返回了应用程序错误,HTTP传输 本身 还是成功的,表明响应为 200 OK 。
另一方面,RESTful方法似乎建议如果调用者试图发布到资源,并且请求的JSON参数某种程度上无效,则认为 400 Bad Request 是适当的。
我在客户端使用Prototype,它具有一种很好的机制,可以根据HTTP状态代码( onSuccess 和 onFailure )自动调度到不同的回调,因此,我很想使用状态代码来指示服务成功或失败,但是我很想知道是否有人对此事有看法或有实践经验。
谢谢!
http状态代码仅用于指示应用程序响应的状态。就像您说的那样,如果json参数由于某种原因无效,那么400状态码 是 合适的答案。
是的,使用http状态代码是一个非常好的主意。另外,状态代码也很容易理解,因为它们不会从应用程序(Web服务)更改为另一个