FuncionarioController.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:ponto-inteligente-api 作者:
/**
 * 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);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号