JAX-RS Джерси Конфигурация JSON ObjectMapper игнорируется - PullRequest
1 голос
/ 19 января 2012

У меня есть следующий код для изменения свойства в Джексоне.Я аннотирую классы с помощью XMLRootElements и позволяю Джерси конвертировать его в JSON, используя Джексона.

Классы аннотированы JAXB.

@Provider
@Produces("application/json")
public class JacksonObjectMapper implements ContextResolver<ObjectMapper> {
private ObjectMapper objectMapper;

     public JacksonObjectMapper() throws Exception {
        objectMapper.configure( DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
    }

@Override
    public ObjectMapper getContext(Class<?> type) {
         return this.objectMapper;
    }
}

Приведенная выше конфигурация работает, как и ожидалось, если я использую Джексона за пределами Джерси (то есть: использую его собственную функцию), но если я использую его внутри ДжерсиПриложение, параметры конфигурации игнорируются.

Есть ли способ проинструктировать Джерси использовать мой класс для сериализации / десериализации из XML в JSON?

1 Ответ

2 голосов
/ 10 июля 2012

Добавьте этот класс в свой список классов javax.ws.rs.core.Application:

application.addClass(JacksonObjectMapper.class)
...