springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

简介: springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

springboot中自定义JavaBean返回的json对象属性名称大写变小写问题

开发过程中发现查询返回的数据出现自定义的JavaBean的属性值大小写格式出现问题,导致前端无法接受到数据,目前有四种解决方法,根据大佬的经验之谈,前两种是最简单便捷的,后两种是比较通用的方法。

具体原因如下图:

一、继承类

一般在vo层(可自行理解,阿里巴巴的编程规范)自定义JavaBean来封装数据返回给前端,都是需要用到多表查询,或者有额外的属性增加时需要创建。

例如:人的javaBean最好的方式是继承一个学生的javaBean在添加新的属性,这样再人的JavaBean中没有问题,学生的JavaBean返回的数据也是正常的,不会出现因为@Data注解导致的bug。

二、手动添加Get方法

这有可能是由于Lombok中的@Data注解导致的bug,手动添加get和set方法也可以解决该问题。(尝试了返回的格式是正常的)

三、@JsonProperty

其它博主的解决方案:字段属性加上注解@JsonProperty("aAnimalId")指定序列化后的名称,字段属性的get方法加上注解@JsonIgnore

本人尝试的结果:在字段属性加上注解@JsonProperty("aAnimalId"),接口返回数据的key就恢复正常了,或许是我和@Data混用的原因。但是分析了一下发现结果如下:

结果分析:

把首字母变成大小,从而和springboot返回json对象把字母变成小写相互抵消,从而导致可以返回正常的格式(自我理解,不确定对不对),但问题de到解决。各位可以尝试尝试,能解决开发问题的就是好办法。

四、spring-boot json(jackson)属性命名策略

全局配置命名策略,未尝试,大佬叫我了解了解,会有一定的收获。

spring:
  jackson:
    property-naming-strategy: SNAKE_CASE

记录每一个学习瞬间

目录
相关文章
|
4月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
10天前
|
XML 安全 Java
Spring Boot中使用MapStruct进行对象映射
本文介绍如何在Spring Boot项目中使用MapStruct进行对象映射,探讨其性能高效、类型安全及易于集成等优势,并详细说明添加MapStruct依赖的步骤。
|
5月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
1月前
|
JSON Java 数据格式
springboot中表字段映射中设置JSON格式字段映射
springboot中表字段映射中设置JSON格式字段映射
125 1
|
2月前
|
druid Java Maven
|
2月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
347 7
|
2月前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
110 3
|
3月前
|
XML JSON JavaScript
JSON对象的stringify()和parse()方法使用
本文阐述了JSON对象的`stringify()`和`parse()`方法的用法,包括如何将JavaScript对象转换为JSON字符串,以及如何将JSON字符串解析回JavaScript对象,并讨论了转换过程中需要注意的事项。
JSON对象的stringify()和parse()方法使用
|
3月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
97 1
|
2月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
364 0

热门文章

最新文章

下一篇
DataWorks