JacksonJsonProvider установил non_null включение весной xml

Привет следующее моя конфигурация сервера 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 ответ

Одним из вариантов является создание настраиваемого экземпляра поставщика с использованием собственного метода фабрики. Вот пример класса фабрики:

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>
Другие вопросы по тегам