无效路径参数/查询参数的错误代码应该是啥[重复]

     2023-03-31     68

关键词:

【中文标题】无效路径参数/查询参数的错误代码应该是啥[重复]【英文标题】: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

【讨论】:

在 FROM 中重复使用多个 UDF 的参数会引发无效的列名错误

】在FROM中重复使用多个UDF的参数会引发无效的列名错误【英文标题】:RepeateduseofparameterformultipleUDF\'sinFROMthrowsaninvalidcolumnnameerror【发布时间】:2017-08-0408:27:25【问题描述】:在如下所示的查询中使用多个表值函数时,SSMS会引发... 查看详情

GoogleJsonResponseException:400 错误请求“无效的查询参数类型”

】GoogleJsonResponseException:400错误请求“无效的查询参数类型”【英文标题】:GoogleJsonResponseException:400BadRequest"Invalidqueryparametertype"【发布时间】:2016-11-0810:05:20【问题描述】:我尝试以编程方式将参数注入到我的bigQuery查... 查看详情

Laravel / Eloquent / Postgres:更新查询导致错误“无效参数号:未定义参数”

】Laravel/Eloquent/Postgres:更新查询导致错误“无效参数号:未定义参数”【英文标题】:Laravel/Eloquent/Postgres:UPDATEquerycauseserror"Invalidparameternumber:parameterwasnotdefined"【发布时间】:2021-01-0912:10:39【问题描述】:我在来自this包... 查看详情

PDO 插入错误(未定义参数)[重复]

...误消息:PHP致命错误:未捕获的PDOException:SQLSTATE[HY093]:无效参数编号:参数未在/home/photobay/public_htm 查看详情

使用 bindParam 创建 MySQL 查询的“无效参数号”错误

】使用bindParam创建MySQL查询的“无效参数号”错误【英文标题】:\'Invalidparameternumber\'errorusingbindParamtocreateanMySQLquery【发布时间】:2014-01-1604:00:06【问题描述】:我编写了一个函数,它接受四个参数并使用PDO将它们传递给我的MySQL... 查看详情

互斥锁因参数无效而失败是啥意思?

】互斥锁因参数无效而失败是啥意思?【英文标题】:Whatdoesmutexlockfailwithinvalidargumentmean?互斥锁因参数无效而失败是什么意思?【发布时间】:2015-05-0700:52:29【问题描述】:这段代码在我的主进程中被调用并且编译正常,但是执... 查看详情

Spring JdbcTemplate 查询参数类型错误:无效的列类型

】SpringJdbcTemplate查询参数类型错误:无效的列类型【英文标题】:SpringJdbcTemplatequeryparameterstypeerror:Invalidcolumntype【发布时间】:2012-11-1017:35:29【问题描述】:我就是这样使用SpringJdbc模板的:publicList<User>getUsersForGrid(introws,intp... 查看详情

没有为一个或多个必需参数提供值。查询中的错误是啥

】没有为一个或多个必需参数提供值。查询中的错误是啥【英文标题】:Novaluegivenforoneormorerequiredparameters.Whatiserrorinquery没有为一个或多个必需参数提供值。查询中的错误是什么【发布时间】:2020-08-0607:58:02【问题描述】:if(conn.... 查看详情

mybatis在oracle数据库下模糊查询之参数个数无效错误

文章转自:https://blog.csdn.net/qq_34698318/article/details/68490265Oracle拼接字符串concat需要注意的小事项在用ssm框架编写代码的时候,因为数据库换成了oracle,在模糊查询数据的时候突然发现报错了select*fromSYS_MENUwhereurllikeconcat(‘%‘,#roleName,... 查看详情

使用 PHP 数组输出 MySQL 查询 - foreach 循环错误“非法偏移”和“无效参数”

...用PHP数组输出MySQL查询-foreach循环错误“非法偏移”和“无效参数”【英文标题】:OutputMySQLquerywithPHParray-foreachlooperror"illegaloffset"and"invalidargument"【发布时间】:2019-02-0408:11:50【问题描述】:为了让这更容易理解,... 查看详情

我如何告诉 PyCharm 参数应该是啥类型?

】我如何告诉PyCharm参数应该是啥类型?【英文标题】:HowcanItellPyCharmwhattypeaparameterisexpectedtobe?我如何告诉PyCharm参数应该是什么类型?【发布时间】:2011-09-1305:05:59【问题描述】:当涉及到构造函数、赋值和方法调用时,PyCharmIDE... 查看详情

Flutter Web:文件选择器抛出“无效参数(路径):不能为空”错误

】FlutterWeb:文件选择器抛出“无效参数(路径):不能为空”错误【英文标题】:FlutterWeb:FilePickerthrows\'Invalidargument(s)(path):Mustnotbenull\'error【发布时间】:2021-04-0120:37:07【问题描述】:目标:使用文件资源管理器选择文件并上传... 查看详情

PDO 无效参数 [重复]

】PDO无效参数[重复]【英文标题】:PDOInvalidParameter[duplicate]【发布时间】:2015-01-2721:09:17【问题描述】:在开始之前,我知道还有其他类似的问题,但我无法从其中任何一个中得出解决方案。我的代码运行良好,直到我意外删除... 查看详情

查询参数的值表达式包含错误;从类型 Object() 到类型“String”的转换无效

...值表达式包含错误;从类型Object()到类型“String”的转换无效【英文标题】:Valueexpressionforthequeryparametercontainsanerror;ConversionfromtypeObject()totype\'String\'isnotvalid【发布时间】:2016-01-2815:30:41【问题描述】:我在尝试执行报告时遇到此... 查看详情

如何在 BigQuery UI 中安排查询时修复“请求包含无效参数”错误

】如何在BigQueryUI中安排查询时修复“请求包含无效参数”错误【英文标题】:Howtofix\'Requestcontainsaninvalidargument\'errorwhenschedulingqueriesinBigQueryUI【发布时间】:2019-04-2616:18:30【问题描述】:我正在以项目所有者的身份在新的BigQuery... 查看详情

在选择中带有参数的参数化查询返回无效数据

】在选择中带有参数的参数化查询返回无效数据【英文标题】:Parameterizedquerywithparameterinselectreturnsinvaliddata【发布时间】:2013-03-2223:13:01【问题描述】:我有以下代码:stringconnectionString="Provider=Microsoft.JET.OLEDB.4.0;"+"datasource="+proce... 查看详情

MySQL JSON 查询:参数 1 中的 JSON 文本无效

】MySQLJSON查询:参数1中的JSON文本无效【英文标题】:MySQLJSONQuery:InvalidJSONtextinargument1【发布时间】:2022-01-0814:29:41【问题描述】:我正在构建一个跟踪用户数据点的统计表。JSON是动态的,可以增长多个级别。我基本上使用我以... 查看详情

cv2.setMouseCallback() 的参数应该是啥

】cv2.setMouseCallback()的参数应该是啥【英文标题】:Whatshouldbetheargumentsofcv2.setMouseCallback()cv2.setMouseCallback()的参数应该是什么【发布时间】:2018-04-1706:47:24【问题描述】:我一直在研究opencv并通过了cv2.setMouseCallback()。以下是鼠标点... 查看详情