@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 注解的区别 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 如何编写Java集成测试?

    当我们开发Java应用程序时,编写测试代码可以帮助我们检查和验证我们的代码是否正确。除了单元测试之外,集成测试也是一个非常重要的测试类型。在编写集成测试时,我们将多个组件集成在一起并测试它们之间的交互。下面是编写Java集成测试的完整使用攻略: 1. 确定要测试的组件 在编写集成测试之前,您需要确定要测试的组件,并将它们集成起来。通常情况下,这些组件可以是数…

    Java 2023年5月11日
    00
  • Java日常练习题,每天进步一点点(57)

    题目:求一个二叉树的右下角结点的值。 思路 先按照层次遍历的方式,遍历整棵树,将每一层最后一个结点的值保存下来,最后返回最后一层的最后一个结点的值即可。 代码实现 private int lastVal = 0; public int findBottomLeftValue(TreeNode root) { // 用队列保存待遍历的结点 Queue<T…

    Java 2023年5月23日
    00
  • Java 批量获取地址间距离工具(支持中转站)

    Java 批量获取地址间距离工具(支持中转站)攻略 该工具是基于高德地图API和Java语言开发的,可以快速获取多个地址间的距离信息,并且支持中转站计算。以下是使用该工具的详细步骤。 1. 获取高德地图API Key 首先需要到高德地图开发者平台注册一个开发者账号,并创建应用获取API Key。在创建应用时,需要注意选择正确的服务类型,本工具使用的是“WEB…

    Java 2023年5月26日
    00
  • JSP 自定义标签第1/3页

    接下来我将为您详细讲解 JSP 自定义标签的完整攻略。 什么是 JSP 自定义标签? JSP 自定义标签(JSP Custom Tag)是一种 JSP 的扩展机制,可以将页面的展现与页面逻辑分离开来。自定义标签通过定义自己的语法可以将一些 Java 代码片段封装到自定义标签中,使得这些功能可以在 JSP 页面中通过 XML 标签来调用使用。 JSP 自定义标…

    Java 2023年6月15日
    00
  • SpringBoot参数校验的最佳实战教程

    下面我将为您讲解“SpringBoot参数校验的最佳实战教程”的完整攻略。 1. 什么是参数校验 在实际开发中,我们需要对从前端或其他业务处理层传递进来的参数进行验证。参数校验是为了确保参数的类型、长度、范围、格式等是否符合项目需求的一项重要功能。参数校验可以避免因为参数错误引起的系统异常和数据错误,保证系统的安全性和合法性。 2. 参数校验的实现方式 Sp…

    Java 2023年5月20日
    00
  • 使用ShardingSphere-Proxy实现分表分库

    使用ShardingSphere-Proxy实现分表分库的攻略可以分为以下步骤: 1. 引入ShardingSphere-Proxy 在pom.xml中添加以下依赖: <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sh…

    Java 2023年6月16日
    00
  • 让Java后台MySQL数据库能够支持emoji表情的方法

    当我们在Java后台使用MySQL数据库时,有时需要支持emoji表情。但是MySQL默认情况下是不支持emoji的,所以我们需要进行一些配置和操作来使其支持。 以下是支持emoji表情的完整攻略: 步骤一:修改MySQL的字符集 MySQL数据库默认使用的是utf8字符集,而utf8字符集只支持一部分的Emoji表情。当我们想要支持完整的Emoji表情时,…

    Java 2023年5月20日
    00
  • Java应用/JVM宕机排查步骤操作

    对于Java应用/JVM宕机排查步骤操作,我们需要进行以下的步骤: 1. 收集日志信息 Java应用程序和JVM宕机时通常会生成日志文件。首先,我们需要定位日志文件,并阅读日志文件,以了解宕机原因。常见的Java日志文件包括: Java虚拟机日志(JVM Log) Tomcat日志文件(catalina.out),如果我们的应用程序是部署在Tomcat容器中…

    Java 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部