Na dica de hoje vamos mostrar como obter endereço completo a partir de um CEP com Java / Groovy com poucas linhas de código e consumindo uma API chamada BrasilAPI.
BrasilAPI é um projeto experimental cujo objetivo é centralizar e disponibilizar endpoints modernos com baixíssima latência independente de sua fonte. Recomendamos a leitura de sua documentação e seu termo de uso em seu site oficial e seu github
Lembrando que a SOLOWEB prover servidores para ambientes de desenvolvimento e produção customizados para as principais tecnologias do mercado, entre em contato conosco e faça uma cotação é rápido, acesse www.soloweb.com.br
Por questão de melhor didática vamos mostrar os exemplos em script Groovy. Para saber mais sobre Groovy acesse: https://groovy-lang.org/
Vamos começar criando um arquivo chamado cep.groovy e iniciar adicionando as dependências com o Grape.
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.5.3')
Grape é um gerenciador de dependências JAR embutido no Groovy. O Grape permite que você adicione rapidamente dependências do repositório maven ao seu classpath. O Grape Dependency Manager baixa o jar de maneira semelhante ao Maven/Gradle sem nenhuma ferramenta de compilação.
Em seguida definimos uma variável com o CEP que desejamos buscar as informações.
def cep = 58040530
Agora vamos preparar a requisição com o endpoint e nosso CEP. (Consulte na documentação os demais endpoints)
def request = new org.apache.http.client.methods.HttpGet("https://brasilapi.com.br/api/cep/v2/" + cep)
Próximo passo é executar a requisição.
def response = org.apache.http.impl.client.HttpClients.createDefault().execute(
request
)
Em seguida imprimimos na tela o retorno.
println response.entity.content.text
Agora vamos salvar e executar nosso script com o comando:
groovy cep.groovy
E tudo estando correto teremos um resultado como este.
{"cep":"58040530","state":"PB","city":"João Pessoa","neighborhood":"Torre","street":"Rua Etelvina Macedo de Mendonça","service":"correios","location":{"type":"Point","coordinates":{"longitude":"-34.8599544","latitude":"-7.1302868"}}}
Ao final teremos algo aproximadamente assim:
Esperamos ter ajudado com este exemplo simples, mas que mostra a simplicidade do Groovy e benefícios desta API.
Siga nos para mais dicas.