1.@PathVariable: 用于将请求URI中的模板变量,映射到方法的参数上,默认情况下,参数名必须要和路径上的变量名一样
当模板变量名使用{ }进行包裹,如果方法的参数名与URI模板变量名一致,在@PathVariable中可以省略别名的定义;
2.@RequestParam:用于将URI中的请求参数,映射到方法的参数上,如果传递的参数为空,可以通过defaultValue设置一个默认值
3.@RequestParam和@PathVariable的区别:
当我们在URL后面添加?name=value
这样的查询参数时,就可以使用@RequestParam注解来获取这些参数的值。
而@PathVariable 则用于从URL的路径部分获取参数,这些参数是URL路径模板的一部分。例如,在URL路径/users/{userId}
中,{userId}
就是一个路径变量,可以通过@PathVariable注解获取其值。这种方式的参数是URL路径的一部分,通常用于获取资源的唯一标识符
4.@RequestBody:主要用于接收前端传递给后端的JSON字符串中的数据,常用于处理POST请求,在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,但@RequestBody最多只能有一个。
总结:@RequestParam经常用于接收URL后面添加的查询参数,而@PathVariable常用于接收URL路径的一部分,@RequestBody经常用于POST请求。
谢谢观看