在我的API中,我正在处理一个包含DSL脚本的对象,该脚本可能无法进行语法/类型验证,但是无论解析失败如何,我仍然会保留该对象,并将持久对象与失败的消息。但是,我无法选择正确的HTTP状态代码来表征这种情况。
来自我的StackOverflow研究:
HTTP 400
似乎不准确,因为请求没有格式错误且可以处理。HTTP 202
似乎很有希望,但实际上并没有发生异步处理。HTTP 422
在其他SO帖子中很受欢迎,但我从未见过它在实践中使用过。在这种情况下发送HTTP 200
仍然是合适的,因为没有真正的"失败"?是否有更合适的HTTP代码可供使用?
答案 0 :(得分:1)
任何4xx状态都意味着服务器什么也没做,状态没有变化。因此,2xx代码是最合适的。
您可以使用警告标题: