Mesma coisa aqui, não funcionou igual ao exemplo do professor.
@PutMapping("/{id}")
public ResponseEntity<Object> updateCursos(@PathVariable(value = "id") UUID id, @RequestBody @Valid CursoDto cursoDto) {
logger.info("Chamando cursoService para atualizar um registro por UUID");
Optional<CursoModel> cursoModelOptional = cursoService.findById(id);
logger.info("Validando por cursoService se o UUID existe");
if (!cursoModelOptional.isPresent()) {
logger.warn("Validação em cursoService não encontrou o registro procurado!");
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Curso não encontrado!");
}
logger.info("Validação de cursoService sobre cursoDto executada com sucesso!");
var cursoModel = new CursoModel();
BeanUtils.copyProperties(cursoDto, cursoModel);
cursoModel.setId(cursoModelOptional.get().getId());
cursoModel.setDataInscricao(cursoModelOptional.get().getDataInscricao());
logger.info("O registro foi atualizado por cursoService no database com sucesso!");
return ResponseEntity.status(HttpStatus.OK).body(cursoService.save(cursoModel));
}
17:46:46.031 [http-nio-8080-exec-3] INFO CursoController updateCursos - Validando por cursoService se o UUID existe
17:46:46.032 [http-nio-8080-exec-3] INFO CursoController updateCursos - Validação de cursoService sobre cursoDto executada com sucesso!
17:46:46.032 [http-nio-8080-exec-3] INFO CursoController updateCursos - O registro foi atualizado por cursoService no database com sucesso!
17:46:46.035 [http-nio-8080-exec-3] WARN SqlExceptionHelper logExceptions - SQL Error: 0, SQLState: 23505
17:46:46.035 [http-nio-8080-exec-3] ERROR SqlExceptionHelper logExceptions - ERROR: duplicate key value violates unique constraint "uk_gnb02jr8qoakdktu6c30pupa6"
Detalhe: Key (numero_curso)=(1403198903) already exists.
17:46:46.036 [http-nio-8080-exec-3] INFO AbstractBatchImpl release - HHH000010: On release of batch it still contained JDBC statements
17:46:46.038 [http-nio-8080-exec-3] ERROR [dispatcherServlet] log - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [uk_gnb02jr8qoakdktu6c30pupa6]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement] with root cause org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "uk_gnb02jr8qoakdktu6c30pupa6"
Detalhe: Key (numero_curso)=(1403198903) already exists.
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2675)
...