1
resposta

[Projeto] Projeto final - Cep

import java.io.IOException;
import java.util.Scanner;

public class Principal {
    public static void main(String[] args) {

            ConsultarCep consultarCep = new ConsultarCep();

        try (Scanner entrada = new Scanner(System.in);) {

            System.out.println("Insira o número do CEP para continuar");
            var cep = entrada.nextLine();

            Endereco novoEndereco = consultarCep.buscaEndereco(cep);
            System.out.println(novoEndereco);
            GeradorDeArquivo gerador = new GeradorDeArquivo();
            gerador.geradorJson(novoEndereco);

        } catch (RuntimeException | IOException e) {
            System.out.println(e.getMessage());
            System.out.println("A aplicação foi encerrada.");
        }

    }
}
public record Endereco(String cep , String logradouro ,
                       String bairro, String localidade, String uf) {

    }
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.FileWriter;
import java.io.IOException;

public class GeradorDeArquivo {
    public void geradorJson(Endereco endereco) throws IOException {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        FileWriter escrita = new FileWriter(endereco.cep() + ".json");
        escrita.write(gson.toJson(endereco));
        escrita.close();
    }
}
import com.google.gson.Gson;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class ConsultarCep {
    public Endereco buscaEndereco(String cep) {

        URI endereco = URI.create("https://viacep.com.br/ws/" + cep + "/json");

        HttpRequest request = HttpRequest.newBuilder()
                .uri(endereco)
                .build();
        try {
            HttpResponse<String> response = HttpClient
                    .newHttpClient()
                    .send(request, HttpResponse.BodyHandlers.ofString());
        return new Gson().fromJson(response.body(), Endereco.class);
        } catch (Exception e) {

            throw new RuntimeException("Erro inesperado ao consultar o CEP: " + cep, e);
        }

    }
}

Resultado

{
  "cep": "01502-001",
  "logradouro": "Avenida da Liberdade",
  "bairro": "Liberdade",
  "localidade": "São Paulo",
  "uf": "SP"
}
1 resposta

Oi, Manoela! Tudo bem?

Parabéns pelo resultado na resolução do projeto, ficou ótimo!

Também agradeço por compartilhar seu código com os demais estudantes, com certeza vai ajudar nos estudos de todas as pessoas que estão aprendendo este mesmo assunto.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!