我认为412(前提条件失败),但可能会有更好的标准?
当前回答
我不确定是否有一个固定的标准,但我会使用400个坏请求,最新的HTTP规范(从2014年开始)文档如下:
6.5.1. 400错误请求 400(坏请求)状态代码表示服务器不能或 将不会处理请求由于某些东西被认为是 客户端错误(例如,格式错误的请求语法,无效的请求 消息框架,或欺骗性请求路由)。
其他回答
你可以发送一个400坏请求代码。它是一种更通用的4xx状态码,因此您可以使用它来表示您的意图:客户端正在发送一个请求,该请求缺少应用程序正确处理它所需的信息/参数。
只要去浏览器设置>护盾>自动重定向AMP页面 禁用它,再试一次…
当使用webHttpBinding时,. net中的WCF API通过返回一个HTTP 404“Endpoint Not Found”错误来处理丢失的参数。
如果考虑web服务方法名及其参数签名,404 Not Found是有意义的。也就是说,如果您公开一个web服务方法LoginUser(字符串,字符串),并且请求LoginUser(字符串),则不会找到后者。
基本上,这意味着无法找到您正在调用的web服务方法以及您指定的参数签名。
10.4.5 404未找到 服务器没有发现任何与Request-URI匹配的内容。没有 说明这种情况是暂时的还是 永久性的。
正如Gert所建议的那样,400 Bad Request仍然是一个有效的响应代码,但我认为它通常用于指示较低级别的问题。它很容易被解释为一个格式错误的HTTP请求,可能缺少或无效的HTTP头,或类似的情况。
10.4.1 400个错误请求 由于格式错误,服务器无法理解请求 语法。客户端不应该重复请求 修改。
我通常去422(不可处理的实体),如果所需的参数中的某些东西不匹配API端点所需的(如太短的密码),但对于缺少的参数,我会去406(不可接受)。
有人认为,应该使用404 Not Found,因为无法找到指定的资源。
推荐文章
- Python请求发送参数数据
- 如何使用Express.js指定HTTP错误码?
- 编排microservices
- 如何使HTTP请求在PHP和不等待响应
- PATCH和PUT请求的主要区别是什么?
- 我可以把我所有的http://链接都改成//吗?
- URL为AJAX请求编码一个jQuery字符串
- 编译System.Net.HttpClient的查询字符串
- 摘要认证和基本认证的区别是什么?
- Axios -删除请求与请求体和头?
- 如何在http获取请求设置报头?
- 从Web Api控制器返回http状态代码
- 如何使用Ruby on Rails进行HTTP请求?
- REST API最佳实践:查询字符串中的参数vs请求体中的参数
- Express.js中的res.send和res.json的区别