spring-mvc-boot-5 【@RequestBody】自定义参数转换 和 输出 JSON

本文介绍了Spring MVC中处理HTTP请求的原理,特别是关于`@RequestBody`注解如何进行参数转换和JSON输出。文章详细讲解了HttpMessageConverter接口的作用,以及在请求体转换和JSON响应过程中的工作流程。此外,还提到了WebDataBinder机制如何通过Converter、Formatter和GenericConverter接口完成参数获取、验证和转换,并提供了自定义转换器的示例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原理

HTTP 的请求 = 请求头 ( Header )+ 请求体 (Body )+ URL + 参数.

服务器还包含其上下文环境和客户端交互会话( Session )机制,而这里的消息转换是指请求体的转换

所以,这里明确两个事儿,一个是输出为JSON,一个请求体的参数转换,别乱。

当一个请求来到时,会首先从http请求和上下文环境来得到参数。

     注1:如果是简单的参数,会以简单的转换器进行转换,这是SpringMVC自身提供的。如int等。

     注2:如果是转换http请求体(BODY),会调用HttpMessageConverter接口。

     注3:  调用HttpMessageConverter接口对 请求体(Body )进行转换,

               首先、会判断能否进行转换 canRead。

               然后、将(用户JSON)转换 read 为控制器参数(用户User)。

      注4: 参数转换用到的是  canRead + read

      注5: 输出为为JSON用到的是  canWrite + write

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良之才-小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值