1.@RequestParam注解:@RequestParam注解用于从HTTP请求中获取单个参数值
特点:
- 参数可以是必需的或可选的。
- 如果未提供可选参数,则使用默认值。
- 可以指定参数名称,如果未指定,则使用方法参数名称。
例子:
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return "Hello, " + name + "!";
}
上面的例子中@RequestParam 注解定义了一个名为 name 的参数,它的默认值为"World",参数是可选的,当你未提供可选参数,则会使用默认值“World”。
2.@PathVariable注解:@PathVariable注解用于从URI路径中获取参数值
特点:
- 参数不能为空,因为它与URL一起使用。
- 不需要指定参数名称,因为它们从路径中提取。
例子:
@GetMapping("/hello/{name}")
public String hello(@PathVariable String name) {
return "Hello, " + name + "!";
}
上面的例子中@PathVariable 注解定义了一个名为 name 的参数,它从路径中提取获得,当请求 /hello/Tom 时,name 参数的值就是 "Tom"。这个参数值将会作为 hello() 方法的参数传入。
3.@Param注解:@Param 注解不是Spring框架自带的注解,通常用于MyBatis框架中。它用于从数据库查询语句中获取参数值。
特点:
- 不需要指定参数名称,因为它们从数据库查询语句中提取。
例子:
@Select("SELECT * FROM users WHERE name = #{name}")
User findByName(@Param("name") String name);
上面的例子中@Param 注解定义了一个名为 name 的参数,它会从查询语句中提取。比如,当调用 findByName("Tom") 时,name 参数的值就是 "Tom"。
总结一下:三个注解都能获取参数,只是他们的作用域和用法不同。@RequestParam 注解用于获取HTTP请求中的参数值,@PathVariable 注解用于获取URI路径中的参数值,而 @Param 注解用于获取数据库查询语句中的参数值。
本文介绍了三个获取参数的注解。@RequestParam用于从HTTP请求中获取单个参数,参数可选,可设默认值;@PathVariable从URI路径中获取参数,参数不能为空;@Param通常用于MyBatis框架,从数据库查询语句中获取参数。三者作用域和用法不同。
1175

被折叠的 条评论
为什么被折叠?



