无效路径参数/查询参数的错误代码应该是啥[重复]
Posted
技术标签:
【中文标题】无效路径参数/查询参数的错误代码应该是啥[重复]【英文标题】:What should be the error code for invalid path parameter/query parameter [duplicate]无效路径参数/查询参数的错误代码应该是什么[重复] 【发布时间】:2021-04-03 05:11:51 【问题描述】:对于无效的路径参数和无效的查询参数,服务应该返回什么我有点困惑。 尤其是路径参数,没有人能确定是400还是404。
假设以下是服务端点:https://samples-service.com/rest/v1/qvc/countryCode/users?numberOfusers=10
countryCode 是路径参数。
可接受的国家/地区代码是美国和英国。 如果用户输入了错误的国家代码,应该如何响应? 400 Bad Request 或 404 Not Found?我听说有人为这两种回答提供了理由。
J404 的用途: 如果用户尝试点击无效路径,则服务应返回 404 Not Found。所以既然是路径参数,应该是404
400 的理由 因为是不正确的参数。应该是404。不管是路径参数还是查询参数还是payload
对我来说,这两个都有道理。不知道哪个是正确的。
numberOfusers 为查询参数 如果用户输入了无效数字(例如:负数,-9)。服务应该返回 400 还是 404。 我认为在这种情况下 400 是可以接受的。但只是想确认一下。
【问题讨论】:
【参考方案1】:无论您使用路径参数还是查询参数来识别资源,您都是在识别资源,因此如果找不到,您将返回 404 Not Found
。
例子
https://samples-service.com/rest/v1/qvc/countryCode/users
https://samples-service.com/rest/v1/qvc/users?countryCode=countryCode
如果请求具有已定义限制的查询参数,例如pageSize
必须介于 1 和 100 之间,超出该范围的值是无效,您应该返回 400 Bad Request
。
例子
https://samples-service.com/rest/v1/qvc/US/users?pageSize=0
https://samples-service.com/rest/v1/qvc/users?countryCode=US&pageSize=0
【讨论】:
以上是关于无效路径参数/查询参数的错误代码应该是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章
刚学使用MYSQL,登陆时提示错误信息1067,哪位大侠帮解答下是啥意思,谢谢