2

Меня спросили в интервью, что у вас есть api - say getCustomer. Этот API возвращает информацию о клиенте. Но чтобы уменьшить размер ответа REST, нам нужно вернуть только атрибуты, которые имеют значение. Поэтому, если middleName не существует для клиента, мы не должны видеть {middleName = null} в ответе. Как мы можем это сделать?REST - Как в ответе мы возвращаем только те поля, которые нам нужны?

ответ

0

Вы можете настроить его с помощью конфигурации конвертера сообщений. Например. в случае использования Jackson Message Converter он может быть установлен с помощью serialization inclusion property устройства отображения Jackson Object.

objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 
1

Использование Джексона можно исключить нулевые значения из JSON сериализации двумя способами:

  • глобально (для всех классов), установив свойство JsonInclude.Include.NON_NULL в ObjectMapper, как уже предложил ritesh.garg

    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 
    
  • на уровне одного класса, аннотирования класс с @JsonInclude (Include.NON_NULL) следующим образом:

    @JsonInclude(Include.NON_NULL) 
    public class Customer { 
    
    } 
    

Здесь Вы можете найти подробное объяснение и примеры кода: Jackson: how to exclude null value properties from JSON serialization

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

  • Нет связанных вопросов^_^