0

こんにちは、以下は私の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>

生成された gson 文字列から null フィールドを除外できるように、ここで Inclusion.NON_NULL を構成する必要があります。どうすればこれを達成できるか考えてください。

4

1 に答える 1

2

1 つのオプションは、独自のファクトリ メソッドを使用してカスタマイズされたプロバイダー インスタンスを作成することです。ファクトリ クラスの例を次に示します。

public class JacksonJsonProviderFactory {

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

以下は、 XML ブループリントフラグメントの例です。

 <cxf:providers>
       <bean class="JacksonJsonProviderFactory" factory-method="create"/>
 </cxf:providers>
于 2014-05-15T20:49:05.320 に答える