package box.solution.lukoki.boxSolution.model;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public record DadosLocalizacao(
@JsonAlias("cep") String Cep,
@JsonAlias("logradouro") String Logradouro,
@JsonAlias("complemento") String Complemento,
@JsonAlias("bairro") String Bairro,
@JsonAlias("localidade") String Localidade,
@JsonAlias("uf") String Uf,
@JsonAlias("ibge") String Ibge,
@JsonAlias("gia") String Gia,
@JsonAlias("ddd") String Ddd,
@JsonAlias("siafi") String Siafi) {
}
package box.solution.lukoki.boxSolution.model;
import com.fasterxml.jackson.annotation.JsonAlias;
public class MinhaLocalizacao {
private String Cep;
private String Logradouro;
private String Complemento;
private String Bairro;
private String Uf;
private String Ibge;
private String Gia;
private String Ddd;
private String Siafi;
public MinhaLocalizacao(DadosLocalizacao dadosLocalizacao) {
Cep = dadosLocalizacao.Cep();
Logradouro = dadosLocalizacao.Logradouro();
Complemento = dadosLocalizacao.Complemento();
Bairro = dadosLocalizacao.Bairro();
Uf = dadosLocalizacao.Uf();
Ibge = dadosLocalizacao.Ibge();
Gia = dadosLocalizacao.Gia();
Ddd = dadosLocalizacao.Ddd();
Siafi = dadosLocalizacao.Siafi();
}
public String getCep() {
return Cep;
}
public void setCep(String cep) {
Cep = cep;
}
public String getLogradouro() {
return Logradouro;
}
public void setLogradouro(String logradouro) {
Logradouro = logradouro;
}
public String getComplemento() {
return Complemento;
}
public void setComplemento(String complemento) {
Complemento = complemento;
}
public String getBairro() {
return Bairro;
}
public void setBairro(String bairro) {
Bairro = bairro;
}
public String getUf() {
return Uf;
}
public void setUf(String uf) {
Uf = uf;
}
public String getIbge() {
return Ibge;
}
public void setIbge(String ibge) {
Ibge = ibge;
}
public String getGia() {
return Gia;
}
public void setGia(String gia) {
Gia = gia;
}
public String getDdd() {
return Ddd;
}
public void setDdd(String ddd) {
Ddd = ddd;
}
public String getSiafi() {
return Siafi;
}
public void setSiafi(String siafi) {
Siafi = siafi;
}
}
package box.solution.lukoki.boxSolution.service;
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 ConsumoAPI {
public String obterDados(String endereco){
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(endereco))
.build();
HttpResponse<String> response = null;
try {
response = client
.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
String json = response.body();
return json;
}
}
package box.solution.lukoki.boxSolution.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ConverterDados implements IconverterDados{
private ObjectMapper objectMapper = new ObjectMapper();
@Override
public <T> T obterDados(String Json, Class<T> classe) {
try {
return objectMapper.readValue(Json,classe);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
}
package box.solution.lukoki.boxSolution.service;
public interface IconverterDados {
<T> T obterDados(String Json, Class<T> classe);
}