Tipos de cambio en Java y Spring Boot
Crea un cliente Spring Boot tipado con RestClient, BigDecimal, autenticación desde el entorno y campos explícitos de frescura.
Spring RestClient puede convertir el JSON directamente en un record de Java. Conserva los tipos como BigDecimal, inyecta la clave desde la configuración y no descartes source, market_session ni data_updated_at.
Key points
Usa Spring
RestClient para un cliente síncrono tipado.Representa tipos y montos con
BigDecimal.Carga la clave desde
EXCHANGERATE_API_KEY.Guarda
data_updated_at junto con el tipo.Crea un RestClient tipado
El record conserva el mapa de tipos y los campos necesarios para interpretarlo. Jackson asigna los nombres snake_case con @JsonProperty y Spring decodifica el JSON.
Carga la clave desde el entorno
Trata la frescura y los errores de forma explícita
RestClient.retrieve() lanza una excepción ante respuestas 4xx y 5xx. Añade límites de tiempo y reintenta solo fallos transitorios. Un 401 exige corregir la clave; un 429 sostenido exige reducir tráfico o ampliar el límite.
Mantén BigDecimal durante el cálculo
Convierte tipos y montos a
BigDecimal, multiplica con una política de redondeo explícita y redondea solo el monto final para la moneda de destino.- Reutiliza un RestClient configurado.
- Define límites de conexión y lectura.
- Almacena solo respuestas correctas.
- Conserva source, marketSession y dataUpdatedAt.
MM
exchangerate.dev
Guías de integración para desarrolladores que trabajan con datos FX.