@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日

相关文章

  • 使用jackson实现对象json之间的相互转换(spring boot)

    下面是使用Jackson库实现对象和JSON格式的相互转换的完整攻略。 前置条件 本文需要你已经掌握Spring Boot框架的基础知识,并且对于Java对象与JSON的基础知识有所了解。 介绍 Jackson是一个Java库,用于将Java对象序列化为JSON格式的字符串,并将JSON格式的字符串反序列化为Java对象。Jackson支持在Java对象和J…

    Java 2023年5月26日
    00
  • spring jpa 审计功能自定义填充字段方式

    首先,我们需要了解什么是 Spring Data JPA 审计功能。Spring Data JPA 审计功能是从 Spring Data JPA 1.5 版本开始引入的一个功能,它提供了一种简单方便的方式来自动填充实体类中的创建时间、修改时间、创建人、修改人等审计信息。在默认情况下,Spring Data JPA 审计功能会自动填充这些审计信息字段,但是有时…

    Java 2023年5月20日
    00
  • Java class文件格式之方法_动力节点Java学院整理

    Java class文件格式之方法_动力节点Java学院整理 在Java中,每个方法都有一个对应的Java虚拟机指令集。在Java源代码被编译成Java字节码之后,它们会被组织成一个或多个Java类文件。这些Java类文件都采用类似的格式进行组织,即Java class文件格式。 Java class文件格式中包含了一些关于Java类的元信息,诸如类名、超类…

    Java 2023年5月20日
    00
  • spring整合kaptcha验证码的实现

    以下是详细讲解“Spring整合Kaptcha验证码的实现”的完整攻略,包括相关代码示例和说明: 1. 概述 Kaptcha是一个开源的验证码生成工具,可以生成常见的验证码图片。Spring框架是目前广泛使用的Java Web开发框架。将Spring与Kaptcha整合可以快速实现验证码功能,提高网站的安全性。 2. 引入Kaptcha 首先需要引入Kapt…

    Java 2023年6月15日
    00
  • Java之int数组声明与初始化方式

    Java之int数组声明与初始化方式 在Java中,数组是一种特殊的数据类型,可以用来存储多个相同类型的数据。在Java中声明和初始化数组有多种方式,本文将介绍其中一种常用的方式——int数组声明与初始化方式。 声明和初始化int数组 以下是声明和初始化int数组的语法: int[] arr = new int[length]; 其中,arr是数组的名称,i…

    Java 2023年5月26日
    00
  • Spring Security入门demo案例

    下面是Spring Security入门demo案例的完整攻略。 一、前置知识 在开始学习Spring Security入门demo案例之前,你需要具备以下一些基础知识: 基本的Java编程语言和Spring框架的了解; 熟悉Spring MVC框架的开发以及相关的Maven工程构建方式。 二、Spring Security简介 Spring Securit…

    Java 2023年5月20日
    00
  • 基于Java文件输入输出流实现文件上传下载功能

    要实现文件上传下载的功能,我们可以基于Java的文件输入输出流来进行操作。以下为详细攻略: 文件上传功能实现 编写一个Java Servlet,用于接收上传的文件数据,并将其保存到服务器的指定目录下。示例代码如下所示: protected void doPost(HttpServletRequest request, HttpServletResponse …

    Java 2023年5月20日
    00
  • Dockerfile制作官方Tomcat镜像及镜像使用详解

    Dockerfile制作官方Tomcat镜像及镜像使用详解,需要分为两个部分来讲解:制作Tomcat镜像和使用Tomcat镜像。下面我将分别进行详细讲解。 制作Tomcat镜像 制作Tomcat镜像需要用到Dockerfile文件,具体步骤如下: 步骤一:选择合适的基础镜像 由于Tomcat是基于Java开发的应用服务器,因此可以选择Java镜像作为基础镜像…

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