这是我的请求网址:
http://server.com/app/user/getuser/?userId=9999 http://server.com/app/user/getuser/?userId=9999
注意userId
是查询参数。未嵌入路径参数。
据我了解,如果请求 URL 是:http://server.com/app/user/getuser/9999 http://server.com/app/user/getuser/9999并且数据库中不存在 ID 9999,应使用代码 404。
但是这种情况应该使用什么 HTTP 状态userId
是查询参数?现在我返回 400 而不是 404。
我会用404 未找到.
Why?
The RFC 7231 https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1定义了一个400 错误请求像这样的回应:
400(错误请求)状态代码表示服务器由于被认为是客户端错误(例如格式错误的请求语法、无效的请求消息帧或欺骗性请求路由)而无法或不会处理请求。
...由于您的请求有效并且您只是尝试访问不存在的资源,我认为404 未找到状态比较合适。RFC 7231 https://www.rfc-editor.org/rfc/rfc7231#section-6.5.4定义它的含义是这样的:
404(未找到)状态代码表示源服务器没有找到目标资源的当前表示,或者不愿意透露该表示的存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)