Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无效路径参数/查询参数的错误代码应该是什么_Java_Api_Web Services_Restful Url - Fatal编程技术网

Java 无效路径参数/查询参数的错误代码应该是什么

Java 无效路径参数/查询参数的错误代码应该是什么,java,api,web-services,restful-url,Java,Api,Web Services,Restful Url,对于无效路径参数和无效查询参数,服务应该返回什么,我有点困惑。 特别是对于路径参数,没有人能够确认它是400还是404 假设以下是服务端点: countryCode是路径参数。 可接受的国家代码为美国和英国 如果用户输入了不正确的国家/地区代码,响应应该是什么?400错误请求或找不到404 我听说人们为这两种反应提供了理由 J404的除锈: 如果用户试图点击无效路径,则服务应返回404NotFound。因为它是一个路径参数,所以它应该是404 400的理由 因为是不正确的参数。应该是404。

对于无效路径参数和无效查询参数,服务应该返回什么,我有点困惑。 特别是对于路径参数,没有人能够确认它是400还是404

假设以下是服务端点:

countryCode是路径参数。

  • 可接受的国家代码为美国和英国
  • 如果用户输入了不正确的国家/地区代码,响应应该是什么?400错误请求或找不到404
我听说人们为这两种反应提供了理由

J404的除锈: 如果用户试图点击无效路径,则服务应返回404NotFound。因为它是一个路径参数,所以它应该是404

400的理由 因为是不正确的参数。应该是404。不管它是路径参数、查询参数还是负载

对我来说,这两个都是有意义的。不确定哪个是正确的

numberOfusers是查询参数 如果用户输入了无效的数字(例如:负数,-9)。服务应该返回什么400或404。
我认为在这种情况下,400美元是可以接受的。但只想确认。

无论您是使用路径参数还是查询参数标识资源,您都在标识一个资源,因此如果找不到它,您将返回
404 Not found

例子

https://samples-service.com/rest/v1/qvc/{countryCode}/用户
https://samples-service.com/rest/v1/qvc/users?countryCode={countryCode}
如果请求具有已定义限制的查询参数,例如,
pageSize
必须介于1和100之间(包括1和100),则该范围之外的值无效,您应返回
400错误请求

例子

https://samples-service.com/rest/v1/qvc/US/users?pageSize=0
https://samples-service.com/rest/v1/qvc/users?countryCode=US&pageSize=0