You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot返回实体字段变为小写,如何改为驼峰格式?

解决Spring Boot返回JSON保持驼峰命名的方法

Spring Boot默认使用Jackson序列化JSON,你的情况应该是Jackson被配置成了全小写命名策略,以下几种方法可以让返回的JSON字段保持实体类的驼峰格式:

一、全局配置(推荐)

1. 通过配置文件设置

如果使用application.properties,添加以下配置:

spring.jackson.property-naming-strategy=DEFAULT

如果使用application.yml,配置如下:

spring:
  jackson:
    property-naming-strategy: DEFAULT

DEFAULT对应Jackson默认的驼峰命名策略,会直接映射实体类的驼峰字段名。

2. 通过代码自定义Jackson配置

创建配置类,注册自定义的Jackson配置Bean:

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JacksonConfig {
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jacksonCustomizer() {
        return builder -> builder.propertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE);
    }
}

LOWER_CAMEL_CASE就是标准的驼峰命名策略,会严格对应实体类的字段格式。

二、局部配置(针对单个类或字段)

1. 给字段添加@JsonProperty注解

如果只想指定某个字段的输出格式,直接在字段上标注:

public class Product {
    private Integer pid;
    @JsonProperty("pName")
    private String pName;
    private Integer pQuantity;
    private Double pPrice;

    // 构造器、getter、setter省略
}

这样该字段序列化后会输出为pName,而非全小写的pname。

2. 给实体类添加@JsonNaming注解

如果整个实体类都需要保持驼峰格式,在类上添加注解:

import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;

@JsonNaming(PropertyNamingStrategies.LOWER_CAMEL_CASE)
public class Product {
    private Integer pid;
    private String pName;
    private Integer pQuantity;
    private Double pPrice;

    // 构造器、getter、setter省略
}

补充说明

如果项目引入了Gson等其他JSON处理库,需要对应调整该库的命名策略配置。但Spring Boot默认使用Jackson,优先采用上述Jackson相关配置即可。

内容的提问来源于stack exchange,提问作者Mayur Ghadage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:40:03