@RequestParam与@RequestBody的区别?可举例说明
时间: 2023-10-25 08:39:55 浏览: 148
简单捋捋@RequestParam 和 @RequestBody的使用
5星 · 资源好评率100%
好的,@RequestParam和@RequestBody都是在Spring MVC中用于接收请求参数的注解。
区别在于:
1. @RequestParam用于接收请求的参数,常用于GET请求和POST请求中以表单参数的形式提交的数据,例如:http://localhost:8080/user?id=1&name=John,其中id和name就是两个请求参数。可以通过@RequestParam注解将请求参数映射到方法的参数中,例如:
@RequestMapping("/user")
public void getUser(@RequestParam("id") int id, @RequestParam("name") String name) {
// 处理业务逻辑
}
2. @RequestBody用于接收请求体中的数据,常用于POST请求中以JSON或XML格式提交的数据,例如:
@RequestMapping(value = "/user", method = RequestMethod.POST)
public void addUser(@RequestBody User user) {
// 处理业务逻辑
}
其中,User是一个Java对象,它会根据请求体中的JSON或XML数据自动封装成一个User对象,方便我们进行业务处理。
总结一下:
@RequestParam用于接收请求参数,常用于GET请求和POST请求中以表单方式提交数据。
@RequestBody用于接收请求体中的数据,常用于POST请求中以JSON或XML格式提交数据。
阅读全文