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