Consumindo API Rest
Neste rápido post mostrarei um exemplo de como consumir uma API Rest para obter um JSON como resposta.
API Via CEP
Para nosso exemplo, utilizaremos a API do Via CEP. Com essa API podemos consultar CEP’s e receber informações sobre o CEP desejado.
Em seguida você encontrará o link para a documentação oficial.
Consumindo API com NodeJS
Para consumir informações da API Via cep iremos utilizara a biblioteca axios para facilitar a comunicação HTTP.
Com isso teremos apenas o metodo que inicia a aplicação solicitando o CEP desejado e uma função que realiza a busca.
const main = async () => {
let cep = ''
do {
cep = prompt('Qual o cep que deseja consultar?');
if (cep) {
const endereco = await ViaCEPService.getEndereco(cep)
console.log(endereco)
} else {
cep = false
}
} while (cep)
}
main()
const axios = require('axios').default
const getEndereco = async (cep) => {
try {
const viaCepURL = `https://viacep.com.br/ws/${cep}/json/`
const {data} = await axios.get(viaCepURL)
return data
} catch (error) {
console.error(error)
}
}
module.exports = { getEndereco }
Ao executarmos o código precisaremos informar o CEP e receberemos o resultado, conforme a imagem abaixo.
Clique aqui para acesso ao código completo.
Consumindo e Expondo API Rest com Spring Boot
Nesta parte do tutorial vamos demonstrar como consumir uma API rest utilizando o RestTemplate do Spring Boot.
Demonstrarei aqui a função principal onde realizamos a chamada para api externa.
public Address getAddress(String cep) {
String url = "https://viacep.com.br/ws/"+cep+"/json/";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<Address> response = restTemplate.exchange(url, HttpMethod.GET, null, Address.class);
return response.getBody();
}
Básicamente o que precisamos é setar a url, tipo do metodo de http request e o objeto que esperamos como resposta.
Para acesso ao código completo, confira no github.
https://github.com/aluizrech/spring-api-consumer
Fim
Caso queira fazer alguma consideração, comente no post.