欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-20 22:45:58
例如我的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首字母要大写

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

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