在 Java 与 Spring Boot 中使用汇率
使用 RestClient、BigDecimal、环境变量认证与明确的新鲜度字段构建带类型的 Spring Boot 汇率客户端。
Spring RestClient 可以把 exchangerate.dev JSON 直接映射为 Java record。汇率使用 BigDecimal,API 密钥从配置注入,并保留 source、market_session 与 data_updated_at。
Key points
使用 Spring
RestClient 构建同步、带类型的客户端。用
BigDecimal 表示汇率与金额。从
EXCHANGERATE_API_KEY 加载密钥。将
data_updated_at 与汇率一同保存。创建带类型的 RestClient
下面的 record 保留汇率映射以及解释汇率所需的字段。Jackson 通过 @JsonProperty 映射 snake_case 名称,Spring 负责请求和 JSON 解码。
从环境变量加载密钥
明确处理新鲜度与错误
RestClient.retrieve() 默认会对 4xx 与 5xx 抛出异常。请设置有限的超时,并且只重试短暂故障。401 需要修正密钥;持续的 429 需要减少流量或提高限额。
计算过程保持 BigDecimal
将汇率与金额解析为
BigDecimal,采用明确的舍入规则,并且只在最终展示目标货币时舍入。API 汇率保持完整精度。- 复用一个已配置的 RestClient。
- 设置连接与读取超时。
- 只缓存成功响应。
- 保存 source、marketSession 与 dataUpdatedAt。
MM
exchangerate.dev
面向使用外汇数据的开发者的集成指南。