jackson定义返回属性从下划线改成驼峰命令

在Spring Boot应用中,Jackson的配置是用来控制如何序列化和反序列化JSON数据。从你提供的配置看,问题出现在property-naming-strategy的设置上。

yaml 复制代码
jackson:
  property-naming-strategy: SNAKE_CASE

这个配置指示Jackson在序列化和反序列化时,将所有Java属性名从驼峰命名法(Camel Case)转换为下划线命名法(Snake Case)。因此,如果你有一个Java属性名为userName,在JSON中它会被表示为user_name。

如果你希望属性名保持为驼峰命名法不变,你应该移除或更改property-naming-strategy的配置。移除这个配置项或将其设置为LOWER_CAMEL_CASE(这实际上是默认值,表示驼峰命名法)将保持属性名的驼峰式表示,例如:

yaml 复制代码
jackson:
  property-naming-strategy: LOWER_CAMEL_CASE

或者,为了保持属性名的默认行为(即不改变属性名),你可以直接从你的配置文件中移除property-naming-strategy行:

yaml 复制代码
jackson:
  serialization:
    WRITE_DATES_AS_TIMESTAMPS: false
    INDENT_OUTPUT: true
  deserialization:
    FAIL_ON_UNKNOWN_PROPERTIES: false
  default-property-inclusion: non_null

这样,Jackson在序列化和反序列化时将不会改变属性名的命名风格,保持你在Java中定义的驼峰命名法。确保在做出这些更改后重新启动你的应用,以便新的配置生效。

相关推荐
文丑颜不良啊2 分钟前
LeetCode651~675题目解析
java·leetcode
frjc5 分钟前
Spring WebFlux SSE 长连接,可以替换为 Java 21 虚拟线程吗?
java·人工智能·spring·ai·ai编程
知守观1 小时前
从 4 套 PDF 库的混战,聊聊老项目的依赖管理与“静默失败”
java·后端·设计模式
深盾科技_Virbox1 小时前
换机或重装后软件许可怎么恢复:先核对哪四项
java·服务器·数据库
Zhuo1Joy1 小时前
中间件挂了怎么办:兜底的边界与取舍
java
用户072367066601 小时前
基于 JavaAgent 的无侵入 Mock:让联调和链路测试不再等下游
java·后端
小蒜学长1 小时前
基于SpingBoot+Vue的定向越野赛事管理系统的设计与开发(代码+数据库+LW)
java·前端·spring boot·后端·前后端分离·定向越野赛事
海岳云舟1 小时前
spring自带线程池使用不当导致的死锁问题
java·后端
yuzhiboyouye1 小时前
Optional和Stream经典丰富的用法demo,以及相关的详细介绍
java