我有一个 RESTful 服务,它在发生内部故障时抛出 500 INTERNAL SERVER ERROR 状态,原因有很多:连接或字段大小导致的数据库错误、代码错误或托管代码调用问题。IIS 将产生的未处理异常报告为 500。这是否适合使用 500?根据MSDN Common REST API Error Codes ,它可能意味着“重试请求” 。我正在寻找的正确 API 错误代码类似于“### 服务器将永远不会处理此请求,直到进行代码更改,不要重新发送,否则您将永远循环并 DOSing 我的服务器”。400 Bad Request 会更合适吗?似乎这表明请求语法本身格式错误,而不是服务阻塞。
此外,当客户遇到这样的错误时应该怎么做?服务器不想要另一个与前一个完全相同的 RESTful 操作。用户可能已经花了一些时间进行数据输入。现在我们必须说服他们离开壁架。也许他们可以自己修复它,这是最佳做法?开发人员有哪些类似的经历,是如何解决的?谢谢。