Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Conversor de moneda

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); }

1 respuesta

¡Hola! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!