学习笔记——SpringMVC消息转换器概述;使用消息转换器处理请求报文;使用消息转换器处理响应报文;使用消息转换器处理Json格式数据

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

2023-01-20

一、SpringMVC消息转换器概述

1、HttpMessageConverter<T>

消息转换器作用:

(1)将java对象与请求报文及响应报文进行相互转化

(2)使用HttpMessageConverter<T>将请求信息转化并绑定到处理方法的入参中或将响应结果转为对应类型的响应信息,Spring提供了两种途径:

①使用@RequestBody/@@ResponseBody对处理方式进行标注。

②使用HttpEntity<T>/ResponseEntity<T>作为处理方法的入参或返回值。

二、使用消息转换器处理请求报文

1、使用@RequestBody获取请求体

(1)语法

final static String SUCCESS = "success";
    
    @RequestMapping("/testRequestBody")
    public String testRequestBody(@RequestBody String reqBody){
        System.out.println("reqBody = " + reqBody);
        return SUCCESS;
    }

(2)注:使用@RequestBody必须以POST方式提交,不能使用GET方式(GET提交方式,没有请求体)

2、使用HttpEntity<T>对象,获取请求头及请求体

(1)语法:

@RequestMapping("/testHttpEntity")
    public String testHttpEntity(HttpEntity<String> httpEntity){
        //获取请求头
        System.out.println("httpEntity.getHeaders() = " + httpEntity.getHeaders());
        //获取内容
        System.out.println("httpEntity.getBody() = " + httpEntity.getBody());
        return SUCCESS;
    }

(2)可以获取请求头及请求体

三、使用消息转换器处理响应报文

1、@ResponseBody

(1)位置:

①书写在class类上面(当前类所有方法,均返回文本,不调整页面)

②书写在方法上面

(2)语法

@RequestMapping("/testResponseBody")
    @ResponseBody
    public String testResponseBody(){
        System.out.println("testResponseBody !!!");
        return "hello";
    }

四、使用消息转换器处理Json格式数据

1、导入jar包

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>

2、装配MappingJackson2HttpMessageConverter消息转换器

必须配置mvc:annotation-drive标签才能装配Jackson的转换器

3、在需要转换json数据的方法上,添加@ResponseBody

4、实例代码:

@RequestMapping("/testJSON")
    @ResponseBody
    public Employee testJSON(){
        System.out.println("testJSON");
        Employee employee = new Employee(1001,"zhangsan","123@163.com",1);
        return employee;
    }

 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring

“学习笔记——SpringMVC消息转换器概述;使用消息转换器处理请求报文;使用消息转换器处理响应报文;使用消息转换器处理Json格式数据” 的相关文章