Agora fico parado por não ter condições de prosseguir, pois faltou uma informação que nada custava ter feito novamente, quantas vezes fossem necessárias. Quanto tempo levará para que eu possa prosseguir no curso. Pena...
Agora fico parado por não ter condições de prosseguir, pois faltou uma informação que nada custava ter feito novamente, quantas vezes fossem necessárias. Quanto tempo levará para que eu possa prosseguir no curso. Pena...
Olá, Ede.
Tudo bem?
Como você não especificou o problema, eu vou tentar te ajudar a recapitular os passos e esclarecer qualquer ponto dessa aula a qual você abriu esse tópico na etapa "Obtendo um endereço da API ViaCEP".
Criação do Projeto e Classes:
Principal
com o método main
.Definição do Record para Endereço:
Endereco
para armazenar os dados do endereço:public record Endereco(String cep, String logradouro,
String complemento, String bairro,
String localidade, String uf) {
}
Criação da Classe ConsultaCep
:
ConsultaCep
com um método buscaEndereco
:public class ConsultaCep {
public Endereco buscaEndereco(String cep) {
URI endereco = URI.create("https://viacep.com.br/ws/" + cep + "/json");
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(endereco)
.build();
HttpResponse<String> response = null;
try {
response = client.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException | InterruptedException e) {
throw new RuntimeException("Não consegui obter o endereço a partir desse CEP.");
}
return new Gson().fromJson(response.body(), Endereco.class);
}
}
Testando a Consulta na Classe Principal
:
Principal
, instancie ConsultaCep
e faça uma busca de CEP:public class Principal {
public static void main(String[] args) {
ConsultaCep consultaCep = new ConsultaCep();
Endereco novoEndereco = consultaCep.buscaEndereco("01001000");
System.out.println(novoEndereco);
}
}
send
pode lançar exceções que precisam ser tratadas com try/catch.Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.