Получить Request из PUT

141
06 июля 2019, 01:40

Создаю метод PUT, делаю контроллер и пытаюсь откорректировать данные которые находятся в базе но на запрос PUT я получаю Bad Request, Required request body is missing. Помогите разобраться в чем ошибка

@PutMapping(value = "api/names/{username}")
public ResponseEntity<?> updatePerson(@RequestBody Person person, @PathVariable String username){
    Optional<Person> currentPerson = personRepository.findById(username);
    person.setOld(person.getOld());
    person.setEmail(person.getEmail());
    person.setPassword(person.getPassword());
    personRepository.save(person);
    return new ResponseEntity<Person>(person, HttpStatus.OK);
}
Answer 1

Он говорит, что у вас пустое тело запроса. Проверте отправляете ли вы его, должно быть что то вроде этого

{old:10, email:xxx@zz.ru, password:1234}

И ваш код не будет работать правильно, потому что вместо редактирования существующей person, будет создана новая

@PutMapping(value = "api/names/{username}")
public ResponseEntity<?> updatePerson(@RequestBody Person person, @PathVariable String username){
    Person currentPerson = personRepository.findById(username).orElseThrow(()->new NotFoundException("Person not found"));
    currentPerson.setOld(person.getOld());
    currentPerson.setEmail(person.getEmail());
    currentPerson.setPassword(person.getPassword());
    return new ResponseEntity<Person>(personRepository.save(currentPerson), HttpStatus.OK);
}

так будет правильнее

READ ALSO
Использование Stream в Map&#39;ах

Использование Stream в Map'ах

Помогите разобраться плиз

138
Чтение из файла BufferedReader

Чтение из файла BufferedReader

По сути у меня есть метод, который считывает слова из файла и записывает в массивПример текстового файла:

169
Как правильно начать цепочку промисов?

Как правильно начать цепочку промисов?

Имеется 2 обычных функции , f1() и f2()Вторая должна выполнится после окончания выполнения первой

142
как указать PHPStorm свою JS библиотеку, для того чтобы он видел ее методы?

как указать PHPStorm свою JS библиотеку, для того чтобы он видел ее методы?

Шторм не видит мою библиотеку, как я не пытался ее подключить глобальноТе библиотека по факту доступна на данной странице в глобальной области...

127