Частичная десериализация Джексона json в поля объекта - PullRequest
0 голосов
/ 19 апреля 2020

TLDR

Джексон десериализует только одно поле из нескольких подобъектов в объекте.

Подробнее:

У меня есть студент POJO:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {

Address address;
Name name;
Courses courses;
String value;

}

У меня есть конечная точка контроллера загрузки Spring:

    @PostMapping("/student")
    public void saveStudent(@RequestBody Student student){
    ...

И это JSON:

{
"address": {
   ...
},
"name": {
  ...
},
"courses": {
 ...       
},
"value": "abc"
}

При отладке приложения я вижу, что только значение «address» заполняется значениями, в то время как другие поля являются нулевыми.

При изменении подписи контроллера на Map<String, Object> я делаю получить все данные.

Так что по какой-то причине при попытке десериализации данных из объекта кажется, что правильно десериализовано только одно поле.

Полагаю, мне не хватает чего-то очень простого здесь.

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