1. 問(wèn)題描述
最近我在開發(fā)系統(tǒng)的過(guò)程中發(fā)現(xiàn)了一個(gè)問(wèn)題,我數(shù)據(jù)庫(kù)中數(shù)據(jù)表的字段名使用的全是大寫字母,Java實(shí)體類中屬性也都是大寫字母,但是返回給前端的時(shí)候所有屬性名卻變成了小寫的。
我查閱資料后解決了問(wèn)題,因此記錄下來(lái),避免以后再次踩坑。
- 數(shù)據(jù)庫(kù)字段的字段名是大寫字母,如下
ID | NAME |
---|---|
1 | 小紅 |
2 | 小明 |
- Java實(shí)體類屬性也是大寫字母,如下
public class Person {
private Integer ID;
private String NAME;
// Getter and Setter
}
- 前端接收到的卻是小寫字母,如下
{
"data": [
{
"id": 1,
"name": "小紅"
},
{
"id": 2,
"name": "小明"
}
]
}
2. 原因
查閱資料后發(fā)現(xiàn),這是因?yàn)?Java 中的命名約定是使用駝峰命名法,即屬性名的第一個(gè)單詞小寫,后面的單詞首字母大寫。
但是在返回給前端時(shí),通常會(huì)使用 JSON 格式,而 JSON 中的屬性名是區(qū)分大小寫的,因此會(huì)將屬性名轉(zhuǎn)換為小寫字母。
如果想在返回給前端時(shí)保留屬性名的大小寫,可以使用 Jackson 庫(kù)中的 @JsonProperty 注解來(lái)指定屬性名。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-634124.html
3. 解決方法
將實(shí)體類進(jìn)行以下修改即可文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-634124.html
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
@JsonProperty("ID")
private Integer ID;
@JsonProperty("NAME")
private String NAME;
// Getter and Setter
}
到了這里,關(guān)于Java實(shí)體類屬性和數(shù)據(jù)庫(kù)字段都是大寫字母,為什么返回給前端會(huì)變成小寫字母的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!