| Data de elaboração | 28/03/2025 |
| Responsável pelo estudo | Taillon Miguel Gonçalves Neves Raposo |
| Equipe do estudo | Tropa de Elite |
| Alvo | Portal do Servidor e Governa API |
| Origem | Análise técnica para melhoria de integração e robustez na comunicação com a API do Governa |
| Objetivo | Identificar inconsistências, gargalos e oportunidades de aprimoramento no consumo dos endpoints da API Governa, visando aumentar a confiabilidade, desempenho e segurança da aplicação. |
Este estudo analisa os endpoints consumidos pela API Governa no contexto do Portal do Servidor, abrangendo os serviços que realizam chamadas HTTP, processam os dados e entregam ViewModels para geração de PDF. A avaliação contempla desde a construção das requisições até o tratamento de erros e logging. O objetivo é evidenciar melhorias que promovam manutenibilidade, performance, segurança e boas práticas.
A integração com a API Governa é utilizada para consultar relatórios financeiros de servidores (Contracheque, Cédula C, Ficha Financeira Anual). O fluxo inicia na controller, passando pela validação da entrada, consumo do endpoint através da classe ApiGoverna, análise da resposta e retorno de um DTO. Em seguida, a View é renderizada para PDF.
/api/contracheque/matriculaContrcheqPorMatrcRequestDto contendo matrícula, mês/ano e tipoPagamentoContrachequeDto com preenchimento de MesReferencia/api/rendimento/{ano}/{matricula}CedulaCDto, sendo utilizada apenas a primeira posição/api/fichafinanceira/{ano}/{matricula}FichaFinanceiraAnualDto com preenchimento de AnoReferenciaA classe ApiGoverna abstrai toda a comunicação com a API, utilizando o IHttpHelperServico para chamadas HTTP. Cada método trata o HttpStatusCode, realiza o DeserializeObject, e encapsula os dados ou mensagens de erro em um DTO de resultado.
try/catch, e erros retornam objetos RequestErrorDtoTrês ações POST (Contracheque, CedulaC, FichaAnual) realizam:
MatriculaValida()apiGoverna.BuscarXYZ()Erro.Title e Erro.DetailControllerExtension.RenderViewAsyncFile(...)try/catch com lógica repetidaTratarResposta<T>() para padronizar a desserialização e tratamento de erros HTTPSystem.Text.Json por performance e integração nativa com .NET CoreA integração com a API Governa está funcional, mas carece de abstrações reutilizáveis, padronização de tratamento de erros, logging estruturado e validações mais robustas de entrada. A criação de métodos genéricos para tratar respostas, uso de mapeadores, melhorias de performance com cache, e log estruturado com Serilog podem elevar significativamente a qualidade técnica, performance e confiabilidade da solução.