public async Task <IActionResult> ExecutarAsync <T>(Task <T> task, CancellationToken cancellationToken = default) where T : Resposta { try { var resposta = await task; if (resposta.Tipo == RespostaTipo.Sucesso) { await _uow.CommitAsync(cancellationToken); } return(Ok(resposta)); }catch (Exception ex) { return(BadRequest(Resposta.Falha("Ocorreu um erro interno no servidor!", new { ex.Message, ex.StackTrace }))); } }