《转载》@ResponseBody 不返回NULL的方法:@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

3 篇文章 0 订阅

@ResponseBody 不返回NULL的正确方法(亲测有效)
我在网络上找到了三种解决方法,接下来将一一说明。

1. 在实体类的顶部添加注解: 

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)

该注解需要导入如下包:

import org.codehaus.jackson.map.annotate.JsonSerialize;


详细代码如下:

package com.***.model;

import java.io.Serializable;

import org.codehaus.jackson.map.annotate.JsonSerialize;

@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)  
public class User implements Serializable {
    private Long userId;

    private static final long serialVersionUID = 1L;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
}



2.在实体类顶部添加注解:

@JsonInclude(Include.NON_NULL)

@JsonInclude(Include.NON_NULL)

该注解需要导入如下package:

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;


3.在SpringMVC.xml中添加以下配置:

MappingJackson2HttpMessageConverter

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                        <property name="serializationInclusion">
                            <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>
                        </property>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
</mvc:annotation-driven>



需要注意的是,该配置要求springMVC的版本在3.1及以上,我使用的版本是3.2。

<beans xmlns="http://www.springframework.org/schema/beans"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:context="http://www.springframework.org/schema/context"  
 xmlns:mvc="http://www.springframework.org/schema/mvc"  
 xsi:schemaLocation="http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-3.2.xsd  
      http://www.springframework.org/schema/context   
      http://www.springframework.org/schema/context/spring-context-3.2.xsd  
      http://www.springframework.org/schema/mvc  
      http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 


这三种方法,只有第一种方法测试成功,其他两种方法可能会生效,但遗憾的是我试了几次反复检查都没有用,如果广大网友使用2、3两种方法并且成功了,还请留言告知。
————————————————
版权声明:本文为CSDN博主「纸上得来终觉浅丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28550739/article/details/76785206

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值