最近开发的过程中遇到个问题,调用接口传参的时候,如果改变参数名的大小写,服务端获取不到值
在C#中,默认忽略大小写的,但Java明显对大小写敏感的。
解决这个问题,我们要用到 jackson
添加依赖:
1 <dependency> 2 <groupId>com.fasterxml.jackson.core</groupId> 3 <artifactId>jackson-core</artifactId> 4 <version>2.11.2</version> 5 </dependency> 6 <dependency> 7 <groupId>com.fasterxml.jackson.core</groupId> 8 <artifactId>jackson-databind</artifactId> 9 <version>2.11.2</version> 10 </dependency> 11 <dependency> 12 <groupId>com.fasterxml.jackson.core</groupId> 13 <artifactId>jackson-annotations</artifactId> 14 <version>2.11.2</version> 15 </dependency>
注意:要注意jackson引入的版本,如果与 springboot 版本不对应,会报错:java.lang.NoClassDefFoundError
配置文件中,设置 jackson
spring.jackson.mapper.accept-case-insensitive-properties=true
以上便是配置的全部,接下来测试
小写请求:

大写请求:

可以看到,当改变参数的大小写,后端同样可以接到值。
其实 jackson 是一个特别棒的Java技术栈内的 JSON解析工具,可以多研究研究它。
