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>
я делаю получить все данные.
Так что по какой-то причине при попытке десериализации данных из объекта кажется, что правильно десериализовано только одно поле.
Полагаю, мне не хватает чего-то очень простого здесь.