@PutMapping
@Transactional
public void atualizar(@RequestBody @Valid DadosAtualizacaoMedico dados){
var medico = medicoRepository.getReferenceById(dados.id());
medico.atualizarInformacoes(dados);
}
Para atualizar um registro, é utilizado o verbo http PUT, ******na aplicação a requisição é mapeada com a anotação @PutMapping. Recebendo o id do registro que será atualizado, basta carregar a entidade e sobrescrever os atributos, e ao fim da transação, a JPA irá commitar automaticamente as alterações.
Para deleter um registro, é obtido o id através da URL (http://localhost:8080/medicos**/1**), isto é chamado de parâmetro dinâmico. Na aplicação, a requisição é mapeada com @DeleteMapping com o variável id, e @Transactional, o id é obtido pela anotação @PathVariable. Com isso, basta chamar o método deleteById() do repository.
@DeleteMapping("/{id}") //parametro dinâmico
@Transactional
public void excluir(@PathVariable Long id){
medicoRepository.deleteById(id);
}
É uma maneira de exclusão que o registro não é apagado do banco de dados, mas sim inativado, gerando uma espécie de histórico.
@DeleteMapping("/{id}")
@Transactional
public void excluir(@PathVariable Long id){
var medico = medicoRepository.getReferenceById(id);
medico.excluir();
}
@PutMapping
;@DeleteMapping
;@PathVariable
;