喺 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。
ER
exchangerate.dev
為用緊外匯數據嘅開發者而設嘅整合指南。