public async Task <ActionResult <UsuarioDto> > Signup([FromBody] UsuarioInputDto usuarioInput) { if (usuarioInput == null || !ModelState.IsValid) { return(BadRequest(new Erro { StatusCode = "400", Mensagem = "Parâmetros inválidos." })); } var erro = _usuarioService.EmailJaExiste(usuarioInput); if (erro != null) { return(BadRequest(erro)); } try { usuarioInput.Senha = Hashing.HashPassword(usuarioInput.Senha); usuarioInput.Token = _authenticate.GerarToken(usuarioInput.Id); var novoUsuario = await _usuarioService.Create(usuarioInput).ConfigureAwait(true); return(CreatedAtAction(nameof(Get), new { id = novoUsuario.Id }, new UsuarioDto(novoUsuario))); } catch (Exception ex) { return(BadRequest(new Erro { StatusCode = "400", Mensagem = ex.Message })); } }