Estimados.
pueden apoyarme , estoy tratando de hacer mi convertidor con spring, pero no puedo ver la moneda que he seleccionado y en este caso es "ZWL" y lo que recibo es DatosSerie[moneda=0.0] , los datos vienen exchangegerate-api.com/docs
Saludos
result "success" documentation "https://www.exchangerate-api.com/docs" terms_of_use "https://www.exchangerate-api.com/terms" time_last_update_unix 1718409601 time_last_update_utc "Sat, 15 Jun 2024 00:00:01 +0000" time_next_update_unix 1718496001 time_next_update_utc "Sun, 16 Jun 2024 00:00:01 +0000" base_code "USD" conversion_rates USD 1 "AED" 3.6725 "AFN" 71.0895 "ALL" 93.1555 "AMD" 387.9673 "ANG" 1.79 "AOA" 864.6977 "ARS" 902.67 "AUD" 1.5118 **** "ZWL" 3.4803****
comparto el codigo.
ConvertidorMOnedaApplicaction.java
package com.alura_cursos.convertir_moneda;
import com.alura_cursos.convertir_moneda.model.DatosSerie; import com.alura_cursos.convertir_moneda.service.ConsumoApi; import com.alura_cursos.convertir_moneda.service.ConvierteDatos; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication public class ConvertirMonedaApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ConvertirMonedaApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
//System.out.println(" hola mundooooo");
var consumoApi = new ConsumoApi();
var json = consumoApi.obtenerDatos("https://v6.exchangerate-api.com/v6/85cb37c283fc71d11ca21787/latest/USD");
System.out.println(json);
ConvierteDatos conversor = new ConvierteDatos();
var datos = conversor.obtenerDatos(json, DatosSerie.class);
System.out.println(datos);
}
}
//url a usar //https://v6.exchangerate-api.com/v6/85cb37c283fc71d11ca21787/latest/USD aca cambiar con un scanner para recibir la monea a selecionar
DatosSerie.java
package com.alura_cursos.convertir_moneda.model;
import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true) public record DatosSerie(
@JsonAlias( "ZWL") double moneda
){
}
ConvierteDatos.java
package com.alura_cursos.convertir_moneda.service;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper;
public class ConvierteDatos implements IConvierteDatos {
private ObjectMapper objectMapper =new ObjectMapper();
@Override
public <T> T obtenerDatos(String json, Class<T> clase) {
try {
return objectMapper.readValue(json,clase);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
}
**IConvierteDatos.java **
package com.alura_cursos.convertir_moneda.service;
public interface IConvierteDatos { T obtenerDatos(String json, Class clase); }