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