Java实体类属性和数据库字段都是大写字母,为什么返回给前端会变成小写字母

Java实体类属性和数据库字段都是大写字母,为什么返回给前端会变成小写字母

  • 1. 问题描述
  • 2. 原因
  • 3. 解决方法

1. 问题描述

最近我在开发系统的过程中发现了一个问题,我数据库中数据表的字段名使用的全是大写字母,Java实体类中属性也都是大写字母,但是返回给前端的时候所有属性名却变成了小写的。
我查阅资料后解决了问题,因此记录下来,避免以后再次踩坑。

  • 数据库字段的字段名是大写字母,如下
ID NAME
1 小红
2 小明
  • Java实体类属性也是大写字母,如下
public class Person {
    private Integer ID;
    private String NAME;
    
    // Getter and Setter
}
  • 前端接收到的却是小写字母,如下
{
    "data": [
        {
            "id": 1,
            "name": "小红"
        },
        {
            "id": 2,
            "name": "小明"
        }
    ]
}

2. 原因

查阅资料后发现,这是因为 Java 中的命名约定是使用驼峰命名法,即属性名的第一个单词小写,后面的单词首字母大写。

但是在返回给前端时,通常会使用 JSON 格式,而 JSON 中的属性名是区分大小写的,因此会将属性名转换为小写字母。

如果想在返回给前端时保留属性名的大小写,可以使用 Jackson 库中的 @JsonProperty 注解来指定属性名。

3. 解决方法

将实体类进行以下修改即可


import com.fasterxml.jackson.annotation.JsonProperty;

public class Person {

    @JsonProperty("ID")
    private Integer ID;

    @JsonProperty("NAME")
    private String NAME;

    // Getter and Setter
}

你可能感兴趣的:(Java,java)