自定义全局序列化(jackson),返回值为空,字段消失不见了
基于Spring或SpringBoot框架
- 在后端返回给前端json数据时,会出现字段对应的值为null,返回数据以后该字段也不存在了,在对框架不了解的情况下,初学者不是很好去定位问题出现在那里,下面我就解释一下为什么出现这种情况
Demo
VO:这边定义了不同的类型,以对应不同的类型去进行序列化设置
public class RespVO {
private String str;
private Integer num;
private Long longNun;
private List list;
}
请求返回值,可以查看到当字段为null时也会正常返回字段,如果字段类型为List则会返回空数组
{
"success": true,
"code": 200,
"message": "成功",
"data": {
"str": "",
"num": 1,
"longNun": "",
"list": []
}
}
这都是因为全局序列化设置导致,下面就贴出配置的代码,可以自行根据实际需求进行修改,以达到需求的目的
配置
ps:此处使用的时 jackson序列化
如果是已经上线的项目,谨慎修改全局序列化
@Configuration
public class R3WebMvcConfig {
private final static Logger logger = LoggerFactory.getLogger(R3WebMvcConfig.class);
/**
* 自定义全局 http请求序列化方式
* @return
*/
@Bean
public