Sávio Andres

Banner postagem: Biblioteca BrasilAPI-Java

Biblioteca BrasilAPI-Java

Biblioteca criada para facilitar o acesso à API BrasilAPI na linguagem de programação Java

Eu estava planejando desenvolver um novo projeto e para isso precisava de uma API que me retornasse informações da rua a partir do CEP, logo lembrei de um vídeo no YouTube do Filipe Deschamps que falava sobre um sistema que fazia exatamente o que eu precisava, ao buscar por esse sistema, cujo nome é BrasilAPI, me deparei com a quantidade de pessoas que contribuem para melhoria dele e percebi que existia bibliotecas de diversas linguagens de programação com o intuito de facilitar a integração. Então para meu espanto e felicidade, não existia uma biblioteca em Java para integração com o projeto, dessa forma tive a oportunidade de contribuir para o projeto desenvolvendo a biblioteca BrasilAPI-Java.

Disponível no repositório: https://github.com/SavioAndres/BrasilAPI-Java, também acessível a partir do repositório oficial do BrasilAPI.

O que é BrasilAPI

BrasilAPI BrasilAPI é um projeto com objetivo de disponibilizar dados públicos através de API Rest de forma simplificada e rápida.

Site oficial: https://brasilapi.com.br
Repositório: https://github.com/BrasilAPI/BrasilAPI

Atualmente dispõe dos seguintes endpoints:

  • Banks (Informações sobre Bancos)
  • CEP (Informações sobre CEP)
  • CEP V2 (Endpoint melhorado com consulta em múltiplos provedores e fallback)
  • CNPJ (Informações sobre o Cadastro Nacional da Pessoa Jurídica)
  • DDD (Retorna o Estado e as Cidades que contém o DDD)
  • Feriados Nacionais (Retorna a data e nome do feriado de determinado ano)
  • FIPE (Informações sobre preço médio de veículos)
  • IBGE (Informações sobre Estados e Municípios)
  • ISBN (Informações sobre livros publicados no Brasil, sistema internacional de identificação de livros)
  • NCM (Nomenclatura Comum do Mercosul)
  • Registro BR (Avalia um domínio no registro.br)
  • Taxas (Taxas de juros e índices oficiais)

O vídeo a seguir de Filipe Deschamps relata como o BrasilAPI foi concebido:

O que faz a BrasilAPI-Java

A biblioteca tem o objetivo de simplificar ainda mais a conexão entre o endpoint cedido pelo sistema do BrasilAPI e a linguagem de programação Java. Para exemplificar, podemos dizer que você precisa obter informações sobre uma empresa cujo CNPJ dela é "06.990.590/0001-23", para isso basta acessar o endpoint https://brasilapi.com.br/api/cnpj/v1/06990590000123. Com isso você consegue os dados da empresa no formato JSON. É aí que entra a biblioteca BrasilAPI-Java, com ela basta você informar o CNPJ para o método estático da classe BrasilAPI e receber o objeto CNPJ com todos os atributos populados, dessa forma:

CNPJ cnpj = BrasilAPI.cnpj("06.990.590/0001-23");
String razaoSocial = cnpj.getRazaoSocial();
System.out.println(razaoSocial);

O vídeo a seguir mostra o quão simples é utilizar a biblioteca, em aproximadamente um minuto e meio foi possível adicionar a lib ao meu projeto e obter o nome da rua a partir do CEP.

Recursos da biblioteca

Os métodos da biblioteca estão documentados no código para facilitar o entendimento do programador. Dentre os métodos disponíveis preciso enfatizar os que iniciam com "set" da classe BrasilAPI, pois eles são métodos de configuração para aprimorar a experiência ao consumir a API.

  • O método "BrasilAPI.setEnableLog()", recebe como parâmetro um boolean, caso true, ativa o log no console, apresentando todo o fluxo de resultado obtido da API e os tratamentos dos dados.
  • O método "BrasilAPI.setEnableCache()", recebe como parâmetro um boolean, caso true, habilita o cache, reduzindo o tempo de retorno de consultas repetidas realizadas durante os últimos 10 minutos.
  • O método "BrasilAPI.setCacheTime()", recebe como parâmetro um Long, para definir em milissegundos o tempo de vida do cache que por padrão é 10 minutos, equivalente à 600000 milissegundos, caso não tenha definido o método "BrasilAPI.setEnableCache()" como true, o método "BrasilAPI.setCacheTime()" o habilita.
  • O método "BrasilAPI.setCacheTimeMinutes()", funciona igualmente o método "BrasilAPI.setCacheTime()", a diferença está na unidade de medida a ser definida, ao invés de setar o tempo em milissegundos esse método recebe o tempo em minutos.

Como instalar a Biblioteca BrasilAPI-Java

A biblioteca foi compilada na versão 8 do Java e é compatível as versões 8 ou superior. Para instalar a biblioteca em um projeto Maven basta incluir a seguinte dependência no arquivo pom.xml.

  <dependencies>
  	<dependency>
	    <groupId>com.github.SavioAndres</groupId>
	    <artifactId>BrasilAPI-Java</artifactId>
	    <version></version>
  	</dependency>
  </dependencies>
  <repositories>
	<repository>
	    <id>jitpack.io</id>
	    <url>https://jitpack.io</url>
	</repository>
  </repositories>

Você precisa apenas incluir a última versão no elemento <version>, a versão até o presente artigo é v1.0.5, mas para que você não utilize uma versão desatualizada é fortemente recomendado que verifique a última versão no repositório BrasilAPI-Java.