JacksonJsonProvider在spring xml中设置了non_null包含

时间:2014-05-14 06:55:12

标签: jackson cxfrs

嗨,以下是我的cxfrs服务器配置

<cxf:rsServer id="itemService"
        address="{{esb.item.rest.address}}"
        serviceClass="com.test.esb.service.flm.ItemServiceImpl"
        loggingFeatureEnabled="false">
        <cxf:providers>
            <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
        </cxf:providers>
    </cxf:rsServer>

我需要在这里配置Inclusion.NON_NULL,以便它可以从生成的gson字符串中排除空字段。知道如何实现这一点。

1 个答案:

答案 0 :(得分:2)

一种选择是使用您自己的工厂方法创建自定义提供程序实例。这是一个示例工厂类:

public class JacksonJsonProviderFactory {

    public static JacksonJsonProvider create() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        return new JacksonJsonProvider(mapper);        
    }
}

这是一个示例XML Blueprint片段:

 <cxf:providers>
       <bean class="JacksonJsonProviderFactory" factory-method="create"/>
 </cxf:providers>