我一直在使用 503 服务不可用 或停机维护。
但是一些 http 客户端库,即 axios 将 503 视为可重试错误。
如果由于高负载而产生响应,则重试它是有意义的,但 503 也适合功能切换情况。
对人们使用的其他代码有什么建议吗?
最佳答案
状态代码是属于“通过网络传输文档”域的元数据。状态代码的共享语义允许通用 HTTP 感知组件智能地运行。
所以您应该做的是考虑 HTTP 语义。
例如,如果您的服务器无法访问由请求的目标 uri 标识的资源的当前表示,那么您应该发出 404 Not Found
响应。如果请求被禁止,则 403 Forbidden
。或者 451 Unavailable for Legal Reasons
当这是预期的含义时。
换句话说:这取决于。
但是它不依赖的是“feature flag”;那是一个实现细节。 “统一接口(interface)”是一种外观,它隐藏了因实现而异的各种技术细节。从外部看,您的 API 给人一种错觉,即您的机器只是另一个乏味的网络服务器。
关于rest - 当端点被 feature-flag/feature-toggle 禁用时,您使用什么 HTTP 状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60284335/