当我们使用Spring MVC开发Web应用程序的时候,常常需要从前端接收请求并响应数据。为此,Spring MVC提供了两个注解@ResponseBody和@RequestBody。
当我们使用Spring MVC开发Web应用程序的时候,常常需要从前端接收请求并响应数据。为此,Spring MVC提供了两个注解@ResponseBody和@RequestBody。
@ResponseBody
@ResponseBody注解通常用于Controller返回给前端的数据。它可以将Java对象转化成JSON格式返回给前台。
示例:
@RestController
@RequestMapping("/user")
public class UserController {
@GetMapping("/getById/{id}")
public User getById(@PathVariable Integer id){
User user = userService.getById(id);
return user;
}
@PostMapping("/add")
public void addUser(@RequestBody User user){
userService.addUser(user);
}
}
在上面的例子中,getById
方法使用@GetMapping
注解,表示接收GET请求;然后,使用@PathVariable
注解将id
作为参数传入函数,函数内部使用userService.getById(id)
获取对应的User
对象,并返回该对象。
由于该方法标注了@GetMapping
,Spring MVC能够判断Controller需要返回到前端,它会自动将获取到的对象序列化成JSON格式,然后回应给前端。
@RequestBody
@RequestBody注解通常用于Controller接收前端传递过来的JSON格式数据,并将其转化为Java对象使用。
示例:
@RestController
@RequestMapping("/user")
public class UserController {
@PostMapping("/add")
public void addUser(@RequestBody User user){
userService.addUser(user);
}
@PostMapping("/update")
public void updateUser(@RequestBody User user){
userService.updateUser(user);
}
}
在上面的例子中,addUser
方法使用@PostMapping
注解,表示接收POST请求;然后,使用@RequestBody
注解将Controller接收到的JSON格式数据转化为User
对象。
在updateUser
方法中,我们同样使用了@RequestBody
标注。这样,我们能够获得包含更新过的数据的User
对象,并更新到数据库中。
完成以上操作后,我们可以轻松地将JSON格式数据传递到Controller中,并将其转化为Java对象,并将Java对象转化为JSON格式数据,方便前端数据交互。
本文标题为:@ResponseBody 和 @RequestBody 注解的区别
- Spring AOP结合注解实现接口层操作日志记录 2023-12-29
- SpringBoot整合Web之CORS支持与配置类和 XML配置及注册拦截器 2023-04-12
- RocketMQ Push 消费模型示例详解 2023-05-24
- MyBatis-Plus 集成动态多数据源的实现示例 2023-02-11
- Java设计模式之桥接模式 2023-06-01
- Java必须掌握的 4 大基础 2023-08-10
- Java后端产生验证码后台验证功能的实现代码 2023-12-11
- Java多线程之线程安全问题详情 2022-11-29
- 最终幻想14白魔学者常用宏大全 2023-12-29
- JSP利用过滤器解决request中文乱码问题 2023-08-03