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

 更新时间:2023年10月19日 11:21:25   作者:忆~遂愿  
开发过程中发现查询返回的数据出现自定义的JavaBean的属性值大小写格式出现问题,导致前端无法接受到数据,目前有四种解决方法,根据大佬的经验之谈,前两种是最简单便捷的,后两种是比较通用的方法,需要的朋友可以参考下

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

以上就是解决springboot中自定义JavaBean返回的json对象属性名称大写变小写问题的详细内容,更多关于springboot json对象属性名称大写变小写的资料请关注脚本之家其它相关文章!

相关文章

  • Java后端实现异步编程的9种方式总结

    Java后端实现异步编程的9种方式总结

    我们日常开发的时候,经常说到异步编程,比如说,在注册接口,我们在用户注册成功时,用异步发送邮件通知用户,那么实现异步编程一共有多少种方式呢,下面小编就来简单讲讲吧
    2025-03-03
  • SpringCloud之Zuul服务网关详解

    SpringCloud之Zuul服务网关详解

    这篇文章主要介绍了SpringCloud之Zuul服务网关详解,服务网关是微服务架构中一个不可或缺的部分,通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制(鉴权)等功能,需要的朋友可以参考下
    2023-08-08
  • Java GC 机制与内存分配策略详解

    Java GC 机制与内存分配策略详解

    这篇文章主要介绍了Java GC 机制与内存分配策略详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • Maven依赖中scope的含义

    Maven依赖中scope的含义

    本文主要介绍了Maven依赖中scope的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    这篇文章给大家介绍springboot整合shiro多验证登录功能的实现方法,包括账号密码登录和使用手机验证码登录功能,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07
  • 浅析Spring4新特性概述

    浅析Spring4新特性概述

    Spring 4.1并没有特别吸引眼球的地方,主要还是增强和一些依赖的版本升级。本文重点给大家介绍Spring4新特性概述,感兴趣的朋友一起看看吧
    2017-09-09
  • Spring框架花式创建Bean的n种方法(小结)

    Spring框架花式创建Bean的n种方法(小结)

    这篇文章主要介绍了Spring框架花式创建Bean的n种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 解决springboot的aop切面不起作用问题(失效的排查)

    解决springboot的aop切面不起作用问题(失效的排查)

    这篇文章主要介绍了解决springboot的aop切面不起作用问题(失效的排查),具有很好的参考价值,希望对大家有所帮助。 一起跟随小编过来看看吧
    2020-04-04
  • Java实战之图书管理系统的实现

    Java实战之图书管理系统的实现

    这篇文章主要介绍了如何利用Java语言编写一个图书管理系统,文中采用的技术有Springboot、SpringMVC、MyBatis、ThymeLeaf 等,需要的可以参考一下
    2022-03-03
  • java 获取已知文件扩展名的代码

    java 获取已知文件扩展名的代码

    java 编写程序获取已知文件的扩展名. 注意: abc.txt的扩展名是txt, abc.java.txt的扩展名也是txt.,需要的朋友可以参考下
    2017-02-02

最新评论