在 REST 服务中,当应用程序超时等待数据库查询并且无法完成客户端的请求时,返回 504 状态代码是否合适?
504网关超时
服务器充当网关或代理,没有收到来自上游服务器的及时响应。
目前我们只是显示一个通用的 500 错误,它在 UI 中显示为一个通用的服务器错误。有一些实用程序可以向用户显示这是一个数据库超时错误(也许还有减少他们所要求的范围的建议),因为如果他们联系任何人,至少他们会获得更多有用的信息负责他们的服务器。
关于其他 REST 服务如何处理数据库超时的任何指针?
在 REST 服务中,当应用程序超时等待数据库查询并且无法完成客户端的请求时,返回 504 状态代码是否合适?
504网关超时
服务器充当网关或代理,没有收到来自上游服务器的及时响应。
目前我们只是显示一个通用的 500 错误,它在 UI 中显示为一个通用的服务器错误。有一些实用程序可以向用户显示这是一个数据库超时错误(也许还有减少他们所要求的范围的建议),因为如果他们联系任何人,至少他们会获得更多有用的信息负责他们的服务器。
关于其他 REST 服务如何处理数据库超时的任何指针?
我也会返回 500,有效载荷中的详细信息表明出了什么问题。这是RFC 2616中 504 的描述:
服务器在充当网关或代理时,没有收到来自 URI(例如 HTTP、FTP、LDAP)指定的上游服务器或它在尝试完成时需要访问的其他辅助服务器(例如 DNS)的及时响应请求。
504 的错误描述表明服务器正在充当网关或代理,而您的服务绝对没有这样做。