SpringMVC-HttpMessageConverter 报文信息转化器

文章目录

HttpMessageConverter

一、概念

报文信息转化器,将请求报文转化为Java对象,或将Java对象转化为响应报文

二、@RequestBody

接收请求体的内容

html 复制代码
<form th:action="@{/requestBody}" method="post">

    用户名<input name="username" type="text"><br>
    密码<input type="password" name="password"> <br>
    <input type="submit" value="RequestBody">
</form>
java 复制代码
@RequestMapping("/requestBody")
    public String testrequestBody(@RequestBody String requestBody)
    {
        System.out.println(requestBody);
        return "target";
    }

三、RequestEntity

html 复制代码
<form th:action="@{/requestEntity}" method="post">

    用户名<input name="username" type="text"><br>
    密码<input type="password" name="password"> <br>
    <input type="submit" value="RequestBody">
</form>
java 复制代码
@RequestMapping("/requestEntity")
    public String testrequestEntity(RequestEntity<String> requestBody)
    {
        System.out.println(requestBody.getHeaders()); //获取请求头
        System.out.println(requestBody.getBody()); //获取请求体
        return "target";
    }

四、 @ResponseBody

@ResponseBody 标识到一个控制类的方法上,可以将该方法的返回值直接作为响应报文的响应体响应到浏览器

java 复制代码
 @ResponseBody
    @RequestMapping("/responseBody")
    public String testRequestBody()
    {
        return "target";  //把target直接输入到页面上
    }

1.返回JSON格式的字符串

1.pom.xml添加依赖

xml 复制代码
<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.15.0</version>
</dependency>

2.在SpringMVC配置文件中,开启注解驱动

xml 复制代码
<mvc:annotation-driven/>

3.在控制器方法上加上@ResponseBody

java 复制代码
	@ResponseBody
    @RequestMapping("/responseBody1")
    public User testRequestUser()
    {
        return new User(12,"cc","1234","男","cc.qq.com");  
    }

4.浏览器效果

五、@RestController

@RestController注解是springMVC提供的一个复合注解,标识在控制器的类上,就相当于为类添加了@Controler注解,并且为其中的每个方法添加了@ResponseBody注解

六、ResponseEntity

ResponseEntity用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览器的响应报文
用于实现文件的下载

相关推荐
AI你一生一世3 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影3 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯3 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
海的透彻8 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat8 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习9 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one9 小时前
算法--构造
java·数据结构·算法
SL_staff9 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff10 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko710 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端