假设我有一个 API 端点,它执行一些业务操作,这可能导致许多不直接连接到请求的不同故障。
请求格式正确,我无法返回 4xx 失败,但应用程序的逻辑要求我返回不同的错误消息。
现在我希望客户端能够区分这些错误消息,以便可以根据代码采取不同的操作。我可以像这样返回自定义 JSON,例如
{
"code": 15,
"message": "Some business error has occurred"
}
现在的问题是,如果没有标准代码喜欢Conflict或没有NotFound意义,我应该在这种情况下使用哪种 HTTP 状态代码。
似乎 500InternalServerError是合乎逻辑的,但是我怎么能另外标记这不能重试,是否应该只是记录给定的状态代码是不可能重试的,所以如果你没有得到其中之一可以重试?