应该是什么反应的代码时,验证错误发生?
-
27-09-2019 - |
题
我执行一个API。API接受/返回JSON内容类型。现在,假设提交的数据通过一些员额的请求是无效的,像缺少属性,或者一个工作重复存在对于同样的数据。是什么标准HTML响应的代码,在这种情况下?
解决方案
有两个答案:
如果你已经提交了一种形式,只是回报 200 - OK
与HTML解释为什么目的不是创造。
如果你有一个API你应该使用下
200OK
- 请求时确定和返还的适当的数据。
201创建
- 电话是成功的和新的对象的创造。
400坏的请求
- 无效的请求URI
- 无效HTTP头
- 接收不支持,非标准参数
- 接收无效HTTP消息的身体
401UNAUTHORIZED
- 授权问题。E.g。错误的API关键,等等。
403禁止
- 适当授权,但不允许的。
404NOT FOUND
- 资源不存在(例如在阅读或更新)
405不允许的方法
- 使用的情况下,给予其余的方法是不允许的。E.g。一个员额在一个单一的资源,或删除整个集合的资源。
409冲突
- 当一个更新的失败,发送"冲突",以允许客户端解决冲突本身并重试.
500内部服务器的错误
- 内部错误。这是默认代码,用于所有未识别错误。
501没有实现
- 用于预期,但尚未实现的功能。
其他提示
在客户端的错误所在,所以你要使用的 4XX 状态代码。我会去与 400 - 错误的请求:
请求不能被理解 服务器因语法错误。 该客户端不应该重复 无需修改请求。
我能找到最接近的是400 Bad Request
。
由于Ariejan说你应该立足自己的API中已经定义的HTTP代码。如果您想发送一个错误信息,应不使用HTTP消息的最佳方式,但最好在响应体的消息,JSON格式。
422无法处理的实体(见 RFC 4918,第11.2节 )
不隶属于 StackOverflow