解决springboot bean中大写的字段返回变成小写的问题

时间:2021-05-19

例如我的bean中有以下4个字段

private String code;private String _TOKENUUMS;private String TGC;private String U;

在返回的json里只会显示

{“code”:“xx”,“tgc”:“xx”,“u”:“xx”}

大小会变成小写,特殊符号开头的字段都不会显示,其原因是因为springboot在进行序列化和反序列时对字段进行了处理。

解决方案是:

import com.fasterxml.jackson.annotation.JsonProperty;

在get方法上加上该注解@JsonProperty

private String code; private String _TOKENUUMS; private String TGC; private String U; public String getCode() { return code; } public void setCode(String code) { this.code = code; } @JsonProperty("_TOKENUUMS") public String get_TOKENUUMS() { return _TOKENUUMS; } public void set_TOKENUUMS(String _TOKENUUMS) { this._TOKENUUMS = _TOKENUUMS; } @JsonProperty("TGC") public String getTGC() { return TGC; } public void setTGC(String TGC) { this.TGC = TGC; } @JsonProperty("U") public String getU() { return U; } public void setU(String u) { U = u; }

返回json会变成{“code”:“xx”,"_TOKENUUMS":“xx”,“TGC”:“xx”,“U”:“xx”},完美解决问题!

补充:Spring getBean 首字母大小写问题

今天学习SPRING 的@Qualifier 注解

遇到如下问题:

spring默认的组扫描的bean id 是类名的首字母小写,如:class Bee ,那么 bean id 默认为: bee,可是我的程序却找不到这种格式的bean id

上网查原因,得到解释:

原来我的类名 class CDPlayer ,我按照默认的规则理解, bean id 应该为 cDPlayer,可偏偏不是这样,原来:

1、如果类第一个字母大写第二个小写,那么首字母小写获取bean

2、如果第一个和第二个字母都是大写的,那个获取bean首字母要大写

这个原理不明白是为什么,但是的确是这样,问题解决了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章