我正在编写一个Plain Old XML HTTP请求/响应服务,正在寻找有关如何响应调用者的建议。
鉴于响应是XML,您会建议:
一直返回HTTP状态200,并使用一种“返回代码”方法将响应成功/失败嵌入到XML中?例如<myResponse><returnCode></returnCode><myPayload/></myResponse>
使用HTTP状态代码表示成功或失败。
这可能类似于this question。
答案 0 :(得分:1)
只有在您的请求有效并且回复有效时,Google和亚马逊服务才会使用返回200。
例如,使用Google Contact API
我强烈建议您不要总是返回200. HTTP状态代码是围绕代表请求的响应代码结果设计的。如上所示,如果您的请求不正确,那么使用HTTP状态代码是一种有效的解决方案。
如果您有问题,我建议您使用5XX。我真的希望谷歌这样做。 (有一次他们的实验性OAuth 2.0端点不起作用,而不是抛出503 - 服务不可用,我得到了一个400 - 错误的请求,这让我做错了什么......)
有关HTTP状态代码的说明,请查看RFC2616。
答案 1 :(得分:0)
我认为你想要使用选项1,因为你的请求可能会成功但是api中的后端会出现问题。我不会一直返回200的响应代码,但是你可能会遇到这样一种情况,即Web服务的url不存在,在这种情况下你需要返回相应的响应代码。