SpringBoot 之SpringMVC 转换对象为JSON存在 null.

问题背景:

对象结构:

public class Result<T> {
    private int code;
    private String msg;
    private String errMsg;
    private T data;
}

后台应该返回结果:

{
    "code": 200,
    "msg": "ok",
    "errMsg": ""
}

问题冲突:

后台实际返回结果:

{
    "code": 200,
    "msg": "ok",
    "errMsg": "",
    "data": null
}

问题解决方案:

@Configuration
public class JSONConfig {
    @Bean
    public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){
        ObjectMapper objectMapper = new ObjectMapper();
        //设置过滤掉null值得属性.
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        return new MappingJackson2HttpMessageConverter(objectMapper);
    }
}

问题总结:

默认情况下,MappingJackson2HttpMessageConverter 不会过滤掉null值,需要手动设置SerializationInclusion属性为JsonInclude.Include.NON_NULL.

posted @ 2020-04-30 09:35  你真的好美  阅读(2337)  评论(0编辑  收藏  举报