По сути, я хочу написать метод HTTP put для обновления только одного атрибута (объекта), но когда я тестирую это с помощью почтальона, он выдает вложенное исключение NullPointerExeption (у меня есть белая проверка нуля с этим атрибутом, но не с его вложенными атрибутами). Вот часть кода:
@Override
public int setProfile(long id, Profile profile) {
Optional<Candidate> optional = findById(id);
optional.ifPresent(c -> {
c.setProfile(profile);
updateById(id, c);
});
return optional.isPresent() ? 0 : 1;
}
контроллер:
@PutMapping(path = "/setProfile/{id}")
public void setProfile(@PathVariable("id") long id, @RequestBody Profile profile){
service.setProfile(id, profile);
}
Когда я передал этот «профиль», я получил объект профиля, не равный NULL, но когда я хотел использовать что-то вроде profile.getName (), он вернул null. Странно то, что даже если я передал ноль вроде этого:
{ "profile": null }
У меня все равно было то же самое (профиль не был нулевым, но profile.getName () имеет значение null)
Спасибо вам за то, что прочитали этот вопрос :)