Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 什么时候应该使用PathVariable,什么时候应该使用RequestParam_Java_Spring_Model View Controller_Controller - Fatal编程技术网

Java 什么时候应该使用PathVariable,什么时候应该使用RequestParam

Java 什么时候应该使用PathVariable,什么时候应该使用RequestParam,java,spring,model-view-controller,controller,Java,Spring,Model View Controller,Controller,我理解两者之间的主要区别, @RequestParam用于查询参数,可以有更多的属性, 而@PathVariable有一个属性,用于路径参数 但我找不到任何关于何时有首选项使用查询参数或路径参数的信息。 我假设在某些情况下,我需要一个默认值或@RequestParam具有的其他属性,使用它可能更好。但除此之外还有什么大区别吗?任何时候首选@PathVariable?这取决于您的设计选择,即您希望在路径或查询部分中包含信息。使用REST,您通常会将资源标识符放入路径中,并将其他参数放入查询中,例如

我理解两者之间的主要区别,
@RequestParam
用于查询参数,可以有更多的属性, 而
@PathVariable
有一个属性,用于路径参数

但我找不到任何关于何时有首选项使用查询参数或路径参数的信息。
我假设在某些情况下,我需要一个默认值或
@RequestParam
具有的其他属性,使用它可能更好。但除此之外还有什么大区别吗?任何时候首选
@PathVariable

这取决于您的设计选择,即您希望在路径或查询部分中包含信息。使用REST,您通常会将资源标识符放入路径中,并将其他参数放入查询中,例如,如下所示(组合):

这意味着:

  • id为67156664的问题的注释(路径变量)
  • 最多返回5条注释(查询参数)
请再次注意,这通常取决于您的需求,即您希望将参数放入url的哪个部分

/questions/67156664/comments?count=5