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中定义的驼峰命名法。确保在做出这些更改后重新启动你的应用,以便新的配置生效。

相关推荐
云烟成雨TD15 小时前
Spring AI Alibaba 1.x 系列【5】ReactAgent 构建器深度源码解析
java·人工智能·spring
最初的↘那颗心15 小时前
Agent 实战:构建第一个 Agent 与记忆系统设计
java·大模型·agent·spring ai·记忆系统
程序猿_极客15 小时前
SpringBoot 三大参数注解详解:@RequestParam @RequestBody @PathVariable 区别及常用开发注解
java·spring boot·后端·面试八股文·springboot注释
小胖java15 小时前
校园通衢公告枢纽系统
java·spring boot
Crazy________15 小时前
docker4.8
java·开发语言·eureka
cch891815 小时前
Laravel 2.x:早期框架的奠基之路
java·开发语言
李小枫16 小时前
webflux接收application/x-www-form-urlencoded参数
android·java·开发语言
派大星酷16 小时前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络
身如柳絮随风扬16 小时前
MyBatis 插件原理详解:从拦截器到动态代理,手写一个分页插件
java·mybatis