springboot封装请求参数json的源码解析

源码位置:

java 复制代码
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver#readWithMessageConverters(org.springframework.http.HttpInputMessage, org.springframework.core.MethodParameter, java.lang.reflect.Type)

在下面的方法中,使用了MappingJackson2HttpMessageConverter来对前端传过来的json做类型转换,在转换前后可以做一些aop的业务处理,比如参数的加解密

从下图中可以看到把json对象封装成了java.util.List<xx.req.QuestionnaireReq>对象

具体的转换是在AbstractJackson2HttpMessageConverter的read方法中

由于我们使用的charset=UTF-8,所用使用objectMapper进行对象转换

ObjectMapper的用法

RequestBodyAdvice的用法

相关推荐
Leevec3 分钟前
红包系统:高并发下如何保证不超发
后端
码事漫谈3 分钟前
Graphify 简明指南
后端
代码羊羊15 分钟前
rust-字符串(切片)、元组、结构体、枚举、数组
开发语言·后端·rust
JavaGuide33 分钟前
万字详解 RAG 向量索引算法和向量数据库
后端·面试
舒一笑38 分钟前
Docker 离线镜像导入后变成 <none>:<none>?一文讲透原因、排查与正确打包姿势
后端·docker·容器
Nyarlathotep01131 小时前
并发集合类(1):CopyOnWriteArrayList
java·后端
霸道流氓气质1 小时前
SpringBoot中调用mybatis方法提示映射文件未找到Invalid bound statement(not found)的奇葩解决
spring boot·后端·mybatis
Lucifer三思而后行1 小时前
Navicat Premium× 金仓数据库体验 - 数据生成深度体验
后端
Lucifer三思而后行1 小时前
MySQL 8 新特性:全局参数持久化!
后端