在 Java 與 Spring Boot 使用匯率
使用 RestClient、BigDecimal、環境變數認證和明確的新鮮度欄位建立有類型的 Spring Boot 匯率客戶端。
Spring RestClient 可把 exchangerate.dev JSON 直接映射至 Java record。匯率使用 BigDecimal,密鑰從設定注入,並保留 source、market_session 與 data_updated_at。
Key points
使用 Spring
RestClient 建立同步、有類型的客戶端。以
BigDecimal 表示匯率和金額。從
EXCHANGERATE_API_KEY 載入密鑰。把
data_updated_at 與匯率一同儲存。建立有類型的 RestClient
record 保留匯率映射及解讀所需欄位。Jackson 以 @JsonProperty 映射 snake_case 名稱,Spring 處理 HTTP 與 JSON 解碼。
從環境載入密鑰
明確處理新鮮度與錯誤
RestClient.retrieve() 預設會為 4xx 和 5xx 拋出例外。設定有限逾時,只重試短暫故障。401 需要修正密鑰;持續 429 需要減少流量或提高限額。
計算期間保持 BigDecimal
把匯率與金額解析為
BigDecimal,使用明確的四捨五入規則,並只在最終展示目標貨幣時四捨五入。- 重用一個已設定的 RestClient。
- 設定連線與讀取逾時。
- 只快取成功回應。
- 保存 source、marketSession 與 dataUpdatedAt。
MM
exchangerate.dev
為使用外匯數據的開發者而設的整合指南。