我开发了一个REST应用程序,我的应用程序之一就是:
用户在服务器端进行操作。一切顺利服务器正确接受数据然而一些错误发生就像与数据库通信一样。我不想使用错误代码返回它,我想用成功代码发送它,但有一个指示错误的正文。我想发送500,404等的错误代码。我的设计是否正确以及我应该返回哪个状态代码?
答案 0 :(得分:1)
在这种情况下,某种5xx错误最合适。
500表示某种内部服务器错误或
503表示服务不可用
在此处查看HTTP / 1.1 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
的所有错误代码如果合适,您应该始终为您的休息服务返回错误代码。返回成功代码但在回复中添加错误并不是正确的做法。
答案 1 :(得分:0)
如果服务器的操作可以在没有用户干预的情况下从这样的数据库故障中恢复(例如使用一些后台“清理过程”),那么成功状态代码可能正常;否则,返回服务器端错误状态代码(5xx)更有意义。
答案 2 :(得分:0)
这可能会有所帮助:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html - 在某些地方可能含糊不清,但总体上很容易阅读IMO。
答案 3 :(得分:0)
您可以在rfc2616
查看状态定义我曾经实现过rest aplication,我总是返回一个状态代码和一条消息,其中包含有关错误的更多信息。
是的,因为数据库有问题503(服务不可用)
关于这种topic at stackoverflow ......
,有很多问题