2016-12-09 4 views
1

У меня есть приложение Spring Boot, и я написал собственный десериализатор для одного из моих Entities. Я добавил @JsonDeserialize(using = GuestOrderDeserializer.class) в Entity, и теперь, в любое время, когда я пытаюсь получить доступ к любой из моих конечных точек, которые должны десериализовать данные, даже если это не имеет никакого отношения к GuestOrder, я получаю статус http, полученный от 415.@JsonDeserialize вызывает HTTP 415

, если я добавлю десериализатор следующим образом:

@Bean 
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { 
    ObjectMapper mapper = new ObjectMapper(); 
    SimpleModule simpleModule = new SimpleModule(); 
    simpleModule.addDeserializer(GuestOrder.class, new GuestOrderDeserializer()); 
    mapper.registerModule(simpleModule); 
    return new MappingJackson2HttpMessageConverter(mapper); 
} 

Тогда это работает просто отлично. Тем не менее, это вызывает проблемы в других местах, поэтому я хотел бы просто использовать @JsonDeserializer для соответствующих объектов. Я просто не знаю, почему он вызывает 415.

ответ

0

Поэтому я не знаю подробных подробностей о том, почему, но в основном, поскольку я выполняю индивидуальную десериализацию, у меня было несколько свойств коллекции, аннотированных с помощью @JsonManagedRefernece, и удаление этих проблем. Сообщение об ошибке подразумевало, что я не имел дело с теми, что были в моих пользовательских десериализаторах, которые я нахожу странными. Но TL; DR, удаляющие те, решили проблему и никаких побочных эффектов, потому что я сохранил @JsonBackReference в дочерних сущностях.

Смежные вопросы