springboot @RequestParam
时间: 2025-04-18 11:50:00 浏览: 30
### Spring Boot `@RequestParam` 注解详解
#### 使用场景
在Spring Boot中,`@RequestParam`用于绑定HTTP请求中的查询参数到控制器方法的形参上。此注解允许开发者轻松获取URL中的GET或POST请求参数[^2]。
#### 基本语法
基本形式如下所示:
```java
@RequestParam(value="paramName", required=true, defaultValue="")
```
- `value`: 参数名称,默认情况下如果未指定,则取变量名作为key。
- `required`: 是否必需,默认为true;当设置为false时,即使前端不传该参数也不会报错。
- `defaultValue`: 默认值,在参数缺失的情况下返回默认设定的内容。
#### 实际案例展示
下面通过几个例子来说明如何运用这个注解。
##### 单个参数接收
对于简单的单个参数传递情况,可以直接这样写:
```java
@GetMapping("/hello")
public String sayHello(@RequestParam("name") String name){
return "Hello," + name;
}
```
上述代码表示访问路径/hello?name=John将会得到响应"Hello, John"。
##### 多个参数处理
面对多个参数的情况也不复杂:
```java
@PostMapping("/addUser")
public User addUser(
@RequestParam("username") String username,
@RequestParam("age") Integer age){
//业务逻辑...
}
```
这里定义了一个接受两个参数(username 和 age)的方法,适用于表单提交等场景。
##### 可选参数支持
有时候某些参数不是必填项,这时可以通过调整属性让其变得可选:
```java
@GetMapping("/search")
public List<Item> searchItems(@RequestParam(required=false, defaultValue="defaultVal") String keyword){
//根据关键词查找商品列表...
}
```
这段程序展示了keyword是一个非必要的字段,并设定了它的缺省值"defaultVal"。
#### 注意事项
需要注意的是,当使用`@RequestParam`映射请求参数至Java对象时,应确保参数的名字与实体类里的属性相匹配,否则会抛出异常提示找不到对应的参数。
阅读全文
相关推荐


















