在 REST 服务中,当应用程序等待数据库查询超时并且无法完成客户端的请求时,返回 504 状态代码是否合适?
504 Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
目前我们只显示一个通用的 500 错误,它在 UI 中显示为一个通用的服务器错误。有一些实用程序可以向用户显示这是一个数据库超时错误(也许还有减少他们要求的范围的建议),因为如果他们联系任何人,至少他们会获得更多有用的信息负责他们的服务器。
任何其他 REST 服务如何处理数据库超时的指针?
最佳答案
我也会返回 500,有效载荷中的详细信息表明出了什么问题。这是来自 RFC 2616 的 504 的描述:
服务器在充当网关或代理时未收到
来自 URI 指定的上游服务器的及时响应(例如
HTTP、FTP、LDAP)或它需要的其他一些辅助服务器(例如 DNS)
访问以尝试完成请求。
504 的错误描述表明服务器正在充当网关或代理,而您的服务绝对没有这样做。
关于rest - 如果数据库服务器超时,返回 HTTP 504 Gateway Timeout 作为响应是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223228/