为了账号安全,请及时绑定邮箱和手机立即绑定

REST HTTP状态代码用于失败的验证或无效的复制

REST HTTP状态代码用于失败的验证或无效的复制

眼眸繁星 2019-07-22 16:12:54
REST HTTP状态代码用于失败的验证或无效的复制我正在使用基于REST的API构建一个应用程序,并且已经到了为每个请求指定状态代码的地步。对于验证失败的请求,或者请求试图在我的数据库中添加副本,我应该发送什么状态代码?我看过了http:/www.w3.org/protocol/rfc 2616/rfc 2616-sec10.html但似乎没有一个是对的。在发送状态代码时是否有常见的做法?
查看完整描述

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

对于输入验证失败:400坏请求+你可选择的描述。这是在书中提出的“RESTful Web服务“.双重提交:409冲突


有关的规范过去是RFC 2616,这使得400(不良请求)的使用范围很窄。

由于格式错误,服务器无法理解请求。

所以它强权有人认为这对语义错误是不合适的。但不再是了;自2014年6月以来,相关标准RFC 7231,它取代了以前的rfc 2616,从而使用了400(不良请求)更广泛地说

由于被认为是客户端错误,服务器无法或不处理请求。



查看完整回答
反对 回复 2019-07-23
?
撒科打诨

TA贡献1934条经验 获得超2个赞

  • 验证失败:403禁止(“服务器理解请求,但拒绝满足请求”)。与流行的观点相反,RFC 2616并没有说“403只用于失败的认证”,而是“403:我知道你想要什么,但我不会这么做”。该条件可能是也可能不是身份验证造成的。
  • 尝试添加一个复制:409冲突(“由于与资源的当前状态发生冲突,请求无法完成”)。

您肯定应该在响应头和/或正文中给出更详细的解释(例如,使用自定义标头-X-Status-Reason: Validation failed).



查看完整回答
反对 回复 2019-07-23
?
ibeautiful

TA贡献1993条经验 获得超5个赞

我建议状态代码422,“不可处理实体”.

11.2.422个不可处理实体

422(非处理实体)状态代码意味着服务器理解请求实体的内容类型(因此415(不支持的媒体类型)状态代码不合适),并且请求实体的语法是正确的(因此400(坏请求)状态代码不合适),但无法处理所包含的指令。例如,如果XML请求体包含格式良好(即语法正确)但语义错误的XML指令,则可能出现此错误情况。



查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 342 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信