后端数据返回前端时,不返回null的字段

本文介绍如何配置Spring Boot应用,使得JSON响应中不包含null值字段。通过三种方式实现:修改application配置文件、实体类添加注解、全局配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、要求

前端调用某接口,返回的是一个pojo,里面有些字段可能为null。null的字段,就不返回给前端了。
比如返回了User,里面只有一个account有值,其他都为null。那么在返回的时候,只返回account即可。
(心急的盆友可直接看3、实现)

2、[可忽略] 实体类、接口、现在效果、预期效果

(只是简单介绍环境,可忽略)

实体类

在这里插入图片描述

接口

在这里插入图片描述

现在效果

在这里插入图片描述

预期效果

在这里插入图片描述

3、实现

方式1:application上加配置

只需要在配置文件application上,增加spring.jackson.default-property-inclusion=non_null配置。
在这里插入图片描述

方式2:实体类上加配置

方式1其实有一定的局限性。如果项目里继承了WebMvcConfigurationSupport,那么方式1配置就失效了。
这种情况下,可以在实体类上加上 @JsonInclude(JsonInclude.Include.NON_NULL) 注解
在这里插入图片描述

方式3:config全局配置

方式2虽然能达到效果,但是每个实体类上都加注解,实在费劲。
因此,可以在继承了WebMvcConfigurationSupport的类上,进行全局配置。
配置如下:

    // JsonInclude全局配置
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder()
                .serializationInclusion(JsonInclude.Include.NON_NULL);
        converters.add(new MappingJackson2HttpMessageConverter(builder.build()));
    }

如下所示:
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值