@ResponseBody 不返回NULL的正确方法(亲测有效)

来源:互联网 发布:淘宝经营类目 编辑:程序博客网 时间:2024/06/08 17:56

@ResponseBody 不返回NULL的正确方法(亲测有效)

我在网络上找到了三种解决方法,接下来将一一说明。

1.(唯一有效方法) 在实体类的顶部添加注解:

 @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)

该注解需要导入如下package:

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

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

<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两种方法并且成功了,还请留言告知。

阅读全文
0 0
原创粉丝点击