Skip to content

Endpoint para buscar detalhes sobre os estados#679

Open
louieaveline wants to merge 11 commits intoBrasilAPI:mainfrom
louieaveline:main
Open

Endpoint para buscar detalhes sobre os estados#679
louieaveline wants to merge 11 commits intoBrasilAPI:mainfrom
louieaveline:main

Conversation

@louieaveline
Copy link
Copy Markdown

Descrição:

Criação de um novo endpoint para buscar informações detalhadas sobre os estados brasileiros na API do IBGE. O endpoint retorna dados como nome, região, código IBGE, população e área do estado. Caso a população não esteja disponível, é retornado um valor padrão.

Mudanças:

  • Validação da sigla do estado.
  • Integração com a API do IBGE para obter os dados.
  • Tratamento de erro caso a população não esteja disponível.
  • Mensagens de erro traduzidas para o português.

Por que:

Com esse novo endpoint, é possível obter informações detalhadas dos estados, como população e área, melhorando a funcionalidade da API.


Esta é a primeira vez que estou abrindo um pull request em um repositório público. Qualquer alteração, sugestão ou dica é muito bem-vinda!

@vercel
Copy link
Copy Markdown

vercel bot commented May 9, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
brasilapi ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 9, 2025 11:32am

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented May 9, 2025

@lucianopf
Copy link
Copy Markdown
Member

Olá @louieaveline! Obrigado pela contribuição!

Preciso fazer algumas observações importantes antes do merge:

1. Handler não usa o padrão do projeto
O handler não usa export default app().get(handler). O wrapper app() aplica automaticamente cors, cache, logger, firewall e errorHandler. Sem ele, essas funcionalidades não estarão disponíveis.

2. console.log em código de produção
O handler tem 2 console.log que vão poluir os logs em produção. Use console.error apenas para erros, e só quando necessário.

3. Tratamento de erros incorreto
Erros são capturados e retornados com res.status(404).json({...}) diretamente. O padrão é lançar instâncias das classes de erro (throw new NotFoundError(...)) e deixar o middleware errorHandler formatar a resposta.

4. Ausência de testes
Novos endpoints precisam de testes E2E em tests/estados-v1.test.js (ou similar).

5. Ausência de documentação OpenAPI
É necessário criar pages/docs/doc/estados.json com a especificação OpenAPI.

6. Funcionalidade já parcialmente existente
O endpoint /ibge/uf/v1/{code} já retorna informações de estados. Qual informação adicional este endpoint oferece em relação ao existente?

Sugiro revisar o Guia de Criação de Endpoints antes de ajustar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants