PRINCIPAL
package br.com.buscacep.principal;
import br.com.buscacep.modelos.Endereco;
import br.com.buscacep.servicos.BuscaCep;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Principal {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
System.out.println("Digite o CEP:");
String cep = leitura.nextLine();
BuscaCep busca = new BuscaCep();
Endereco endereco = busca.buscar(cep);
System.out.println(endereco);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
try {
FileWriter escrita = new FileWriter("endereco.json");
escrita.write(gson.toJson(endereco));
escrita.close();
System.out.println("Arquivo JSON gerado!");
} catch (IOException e) {
System.out.println("Erro ao salvar arquivo.");
}
System.out.println("Finalizado com sucesso! ");
}
}
ENDEREÇO
package br.com.buscacep.modelos;
public class Endereco {
public String cep;
private String logradouro;
private String bairro;
private String localidade;
private String uf;
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getLocalidade() {
return localidade;
}
public void setLocalidade(String localidade) {
this.localidade = localidade;
}
public String getLogradouro() {
return logradouro;
}
public void setLogradouro(String logradouro) {
this.logradouro = logradouro;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
@Override
public String toString() {
return "CEP: " + cep +
"\nRua: " + logradouro +
"\nBairro: " + bairro +
"\nCidade: " + localidade +
"\nEstado: " + uf;
}
}
BUSCAR CEP
package br.com.buscacep.servicos;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.google.gson.Gson;
import br.com.buscacep.modelos.Endereco;
public class BuscaCep {
public Endereco buscar(String cep) {
URI endereco = URI.create(("https://viacep.com.br/ws/" + cep + "/json/"));
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(endereco)
.build();
try {
HttpResponse<String> response = HttpClient
.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
Gson gson = new Gson();
return gson.fromJson(response.body(), Endereco.class);
} catch (IOException | InterruptedException e) {
throw new RuntimeException("Erro ao buscar CEP");
}
}
}