解决springboot bean中大写的字段返回变成小写的问题
程序员文章站
2022-06-24 11:39:55
例如我的bean中有以下4个字段private string code;private string _tokenuums;private string tgc;private string u;在返...
例如我的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首字母要大写
这个原理不明白是为什么,但是的确是这样,问题解决了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。