/**
* Atualiza os dados de um funcionário.
*
* @param id
* @param funcionarioDto
* @param result
* @return ResponseEntity<Response<FuncionarioDto>>
* @throws NoSuchAlgorithmException
*/
@PutMapping(value = "/{id}")
public ResponseEntity<Response<FuncionarioDto>> atualizar(@PathVariable("id") Long id,
@Valid @RequestBody FuncionarioDto funcionarioDto, BindingResult result) throws NoSuchAlgorithmException {
log.info("Atualizando funcionário: {}", funcionarioDto.toString());
Response<FuncionarioDto> response = new Response<FuncionarioDto>();
Optional<Funcionario> funcionario = this.funcionarioService.buscarPorId(id);
if (!funcionario.isPresent()) {
result.addError(new ObjectError("funcionario", "Funcionário não encontrado."));
}
this.atualizarDadosFuncionario(funcionario.get(), funcionarioDto, result);
if (result.hasErrors()) {
log.error("Erro validando funcionário: {}", result.getAllErrors());
result.getAllErrors().forEach(error -> response.getErrors().add(error.getDefaultMessage()));
return ResponseEntity.badRequest().body(response);
}
this.funcionarioService.persistir(funcionario.get());
response.setData(this.converterFuncionarioDto(funcionario.get()));
return ResponseEntity.ok(response);
}
FuncionarioController.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:ponto-inteligente-api
作者:
评论列表
文章目录