Kursy walut w Java i Spring Boot
Zbuduj typowanego klienta Spring Boot z RestClient, BigDecimal, kluczem z otoczenia i polami świeżości.
Spring RestClient mapuje JSON do record. Kursy przechowuj jako BigDecimal, klucz wstrzykuj z konfiguracji i zachowuj source, market_session oraz data_updated_at.
Key points
Użyj Spring
RestClient.Kursy i kwoty zapisuj jako
BigDecimal.Klucz czytaj z
EXCHANGERATE_API_KEY.Zapisuj
data_updated_at razem z kursem.Utwórz typowanego RestClient
Record przechowuje mapę kursów i pola potrzebne do jej interpretacji. Jackson mapuje snake_case przez @JsonProperty.
Wczytaj klucz z otoczenia
Jawnie obsługuj świeżość i błędy
RestClient.retrieve() domyślnie zgłasza 4xx i 5xx. Ustaw ograniczone czasy i ponawiaj tylko błędy przejściowe. 401 wymaga poprawy klucza, a 429 ograniczenia ruchu.
Zachowaj BigDecimal podczas obliczeń
Mnożenie wykonuj na
BigDecimal i zaokrąglaj dopiero końcową kwotę zgodnie z walutą docelową.- Współdziel skonfigurowanego klienta.
- Ustaw timeout połączenia i odczytu.
- Buforuj tylko sukcesy.
- Zachowaj source, marketSession i dataUpdatedAt.
MM
exchangerate.dev
Przewodniki integracyjne dla programistów pracujących z danymi FX.