什么是最好的HTTP状态代码来传达"保存,但有错误"?

时间:2017-06-20 01:10:48

标签: http

在我的API中,我正在处理一个包含DSL脚本的对象,该脚本可能无法进行语法/类型验证,但是无论解析失败如何,我仍然会保留该对象,并将持久对象与失败的消息。但是,我无法选择正确的HTTP状态代码来表征这种情况。

来自我的StackOverflow研究:

  • HTTP 400似乎不准确,因为请求没有格式错误且可以处理。
  • HTTP 202似乎很有希望,但实际上并没有发生异步处理。
  • HTTP 422在其他SO帖子中很受欢迎,但我从未见过它在实践中使用过。

在这种情况下发送HTTP 200仍然是合适的,因为没有真正的"失败"?是否有更合适的HTTP代码可供使用?

1 个答案:

答案 0 :(得分:1)

任何4xx状态都意味着服务器什么也没做,状态没有变化。因此,2xx代码是最合适的。

您可以使用警告标题: