2016-04-15 4 views
1

Я использую Spring Boot 1.3.3 и создал контроллер REST для добавления объекта JSON в коллекции Mongo DB.Spring Boot JSON Serialization

Данные, которые будут добавлены из объекта JSON, будут подмножеством информации, полученной от запроса. Поэтому я создал объект запроса JSON (DTO) и объект (модель) объекта, который будет храниться в коллекции Mongo.

Теперь я столкнулся с проблемой, поскольку объект запроса JSON заполняется значениями по умолчанию для целочисленных (0) и булевых типов данных (false), даже если эти поля не заполняются как часть сообщения запроса. Я не хочу хранить эти значения в базе данных.

В моем файле application.properties добавлены свойства spring.jackson.serialization-include = non-null и spring.jackson.serialization-включения = не по умолчанию, но по-прежнему заполняются значениями по умолчанию ,
Может ли кто-нибудь помочь мне решить эту проблему и обойти значения по умолчанию. ПРИМЕЧАНИЕ. Он отлично работает для типа данных String, поскольку они будут иметь значения NULL по умолчанию, если они не созданы.

Заранее спасибо

+1

Привет всем. Теперь проблема решена путем изменения примитивных типов данных на соответствующие классы Wrapper. (Пример: от булева до булева, int до целого). – user3537498

ответ

2

Строка Атрибуты принимают нулевое значение, в то время как примитивные атрибуты имеют значение по умолчанию, например, 0 по умолчанию значения для INT атрибутов .., чтобы избежать этого значения Используйте Integer вместо этого.