requestparam和RequestBody
时间: 2023-09-28 10:07:58 浏览: 83
简单捋捋@RequestParam 和 @RequestBody的使用
5星 · 资源好评率100%
@RequestParam 和 @RequestBody 是 Spring MVC 中用于接收请求参数的两个注解@RequestParam 用于获取请求中的参数,可以用于接收 GET 和 POST 请求中的参数。它可以指定参数名,如果请求中没有该参数或者为空,则可以指定默认值。例如:
```java
@GetMapping("/example")
public ResponseEntity<String> example(@RequestParam("name") String name, @RequestParam(value = "age", defaultValue = "18") int age) {
// 处理业务逻辑
return ResponseEntity.ok("Hello, " + name + ", your age is " + age);
}
```
上述代码中,`@RequestParam("name")` 表示获取名为 "name" 的请求参数,而 `@RequestParam(value = "age", defaultValue = "18")` 表示获取名为 "age" 的请求参数,如果没有传递,则使用默认值 18。
@RequestBody 用于获取请求体中的数据,通常用于接收 POST 请求中的 JSON 或 XML 数据。它将请求体中的数据绑定到方法参数上。例如:
```java
@PostMapping("/example")
public ResponseEntity<String> example(@RequestBody User user) {
// 处理业务逻辑
return ResponseEntity.ok("Hello, " + user.getName() + ", your age is " + user.getAge());
}
```
上述代码中,`@RequestBody` 表示将请求体中的 JSON 数据转换为 User 对象,并将其作为方法参数进行处理。User 类是一个自定义的 POJO 类,其中包含了 name 和 age 属性。
总结起来,@RequestParam 用于获取请求中的参数,而 @RequestBody 用于获取请求体中的数据。
阅读全文