Представьте, что у меня есть такая сущность.
public class Person{
Long Id,
String name,
String city,
Long age
//getters, setters, constructor
}
Когда я создаю репозиторий и выводю с помощью запроса GET для записи для города значение null, ниже мой ответ json.
{
"name": "jon",
"age": 34
}
Но вместо этого я хочу это.
{
"name": "jon",
"city": null,
"age": 34
}
т.е. показывать нулевые атрибуты.
Какую работу можно обойти проще всего?




Я думаю, вам следует проверить аннотацию json JsonInclude.Include и установить ее ВСЕГДА: https://fasterxml.github.io/jackson-annotations/javadoc/2.0.0/com/fasterxml/jackson/annotation/JsonInclude.Include.html
Убедитесь, что вы нет следующей конфигурации в вашем ObjectMapper:
mapper.setSerializationInclusion(Include.NON_NULL);
Если он у вас есть, удалите его или измените на Include.ALWAYS.
Также проверьте свой application.properties. Если вы используете Spring Boot 1.3, включение сериализации настраивается через свойство spring.jackson.serialization-inclusion.
Jackson 2.7 и Spring Boot 1.4 используют свойство spring.jackson.default-property-inclusion.
Убедитесь, что значение таких свойств - non_null.
Альтернативно, аннотируйте свой класс следующим образом:
@JsonInclude(Include.ALWAYS)
public class Person {
...
}
это странно. В любом случае вы должны иметь возможность настроить ObjectMapper, правильно установив свойство serializationInclusion