🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

github.com/Berchon/Multithreading

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/Berchon/Multithreading

v0.0.0-20240517202834-f2c6c309a750
Source
Go
Version published
Created
Source

Multithreading

Neste desafio você terá que usar o que aprendemos com Multithreading e APIs para buscar o resultado mais rápido entre duas APIs distintas.

As duas requisições serão feitas simultaneamente para as seguintes APIs:

  • https://brasilapi.com.br/api/cep/v1/{cep}
  • http://viacep.com.br/ws/{cep}/json/

Os requisitos para este desafio são:

  • Acatar a API que entregar a resposta mais rápida e descartar a resposta mais lenta.

  • O resultado da request deverá ser exibido no command line com os dados do endereço, bem como qual API a enviou.

  • Limitar o tempo de resposta em 1 segundo. Caso contrário, o erro de timeout deve ser exibido.

Requisitos básicos:

  • Golang 1.21+

Como usar:

Para utilizar essa API, siga os seguintes passos:

Instalação:

  • Verifique se Go está instalado em seu sistema:
go version
  • Clone o repositório para sua máquina local:
git clone https://exemplo.com/seu-repositorio.git

Configuração:

  • Para garantir que todas as dependências sejam resolvidas, execute:
go mod tidy

Utilização:

  • A API está rodando na porta 8080 e o endpoint para obter informações de endereço com base em um CEP é:
http://localhost:8080/{cep}
  • Para fazer uma requisição ao endpoint utilizando cURL, você pode executar o seguinte comando:
curl http://localhost:8080/01310930
  • Essa requisição acima tem o seguinte retorno:
{
  "api_name": "BrasilAPI",
  "zip_code": "01310930",
  "street": "Avenida Paulista 2100",
  "neighborhood": "Bela Vista",
  "city": "São Paulo",
  "state": "SP"
}

Documentação:

Para acessar a documentação do Swagger da API, siga os passos abaixo:

  • Certifique-se de que a API esteja em execução localmente.
  • Abra um navegador da web e digite o seguinte URL na barra de endereço:
http://localhost:8080/swagger/index.html
  • Pressione Enter para carregar a página da documentação do Swagger.
  • Você verá a interface do Swagger, que permite explorar os endpoints da API, testar as operações disponíveis e visualizar detalhes sobre os parâmetros necessários para cada requisição.
  • Agora você pode navegar pela documentação do Swagger para entender melhor como interagir com a API e seus endpoints.

A documentação do Swagger é uma ferramenta útil para facilitar o desenvolvimento, teste e integração de APIs.

Pontos de melhorias:

Para melhorar a API, aqui estão algumas sugestões de melhorias:

  • Melhoria nos Responses de Erros:

    • Aprimorar os textos de erro retornados pela API para serem mais específicos e informativos. Isso ajudará os desenvolvedores a identificar e solucionar problemas com mais facilidade.
  • Tratamento de Erros:

    • Implementar tratamentos de erro mais robustos para lidar com situações em que uma API externa esteja fora do ar ou se o usuário estiver sem conexão com a internet. Isso garantirá uma melhor experiência para o usuário final.
  • Testes de Unidade e Testes de Integração:

    • Implementar testes de unidade para garantir que cada parte do código funcione corretamente isoladamente.
    • Implementar testes de integração para verificar se os componentes da aplicação funcionam bem juntos.

Devido à escolha de exercitaDevido à escolha de exercitar uma arquitetura mais complexa inicialmente, os testes foram deixados para um segundo momento. No entanto, a inclusão de testes de unidade e integração pode trazer benefícios significativos em termos de qualidade e confiabilidade do software. Essas melhorias garantirão que a API seja mais robusta, confiável e escalável no futuro.

FAQs

Package last updated on 17 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts