rdswithapirest icon indicating copy to clipboard operation
rdswithapirest copied to clipboard

Inclusão Anotação @PathVariable - Classe EmployeeControllerHateoas.java

Open HeannaReis opened this issue 1 year ago • 1 comments

Olá Juliana,

Ao tentar realizar teste no postman com o método PUT implementado na Classe EmployeeControllerHateoas.java Estava ocorrendo erro me indicando que o ID que estava recebendo era NULL. Então coloquei anotação @PathVariable no parâmetro ID do método replaceEmployee dessa forma.

@PutMapping("/employees/update/{id}")
    EmployeeHateoas replaceEmployee(@RequestBody EmployeeHateoas newEmployee, @PathVariable Long id){
        return repository.findById(id).map(employee -> {
            employee.setName(newEmployee.getName());
            employee.setAddress(newEmployee.getAddress());
            employee.setRole(newEmployee.getRole());
            return repository.save(newEmployee);
        }).orElseGet(() -> {
            newEmployee.setId(id);
            return repository.save(newEmployee);
        });

Dessa forma é realizada o update no banco com os dados passados no body da requisição.

Espero que agregue valor para a comunidade.

Parabéns pelo curso.

HeannaReis avatar May 01 '23 05:05 HeannaReis

Olá HeannaReis, realmente. O PUT nunca iria funcionar sem essa anotação. Obrigada!

julianazanelatto avatar Aug 07 '23 21:08 julianazanelatto