Пользовательский StdDeserializer не использует указанный @JsonView - PullRequest
0 голосов
/ 06 июня 2019

Я использую собственный десериализатор, но когда я вызываю objectMapper.writerWithView(Views.MyView.class), я не получаю ожидаемый результат.

При отладке я обнаружил, что в методе

public MyObject deserialize(JsonParser parser, DeserializationContext context) throws IOException { 
    //do something 
}

переменная context имеет значение поля _view = null.Как я могу сделать так, чтобы мой пользовательский десериализатор использовал ожидаемый вид?Представление используется для остальной части десериализации, поскольку для других объектов отображаются только нужные поля.

Спасибо.

1 Ответ

1 голос
/ 06 июня 2019

Я сделал ошибку, используя @JsonView на самом деле все работает нормально, извините, я не знаю, как удалить мой вопрос: /

РЕДАКТИРОВАТЬ: я использовал @JsonView поверх класса, который расширяет универсальный класс, который содержит все поля идентификации и аудита для базы данных. Если вместо этого использовать @JsonView на уровне свойств, он не будет включать унаследованные поля. примечание: мне все еще нужно использовать objectMapper.writerWithView(Views.MyView.class), так как по какой-то причине я не получаю аннотацию для работы поверх вызова метода ни в моем контроллере, ни в моем сервисе. Это не проблема сама по себе, я считаю, что это неправильное понимание поведения аннотации с моей стороны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...