Kursy walut w Swift przez URLSession
Użyj URLSession, Codable i URLComponents oraz zachowaj informację o aktualizacji kursu.
URLSession obsługuje sieć, a Codable kontrakt JSON. Klucz trzymaj na serwerze, poza aplikacją iOS, macOS lub watchOS.
Key points
Zdefiniuj model: Model zachowuje rates, source, market_session i data_updated_at. Do obliczeń kwot używaj Decimal.
Zostaw klucz na serwerze: Aplikacja mobilna woła własny backend, który dodaje Authorization. Swift po stronie serwera może czytać klucz z otoczenia.
Obsłuż status i świeżość: Sprawdź status przed dekodowaniem, rozróżnij 401 i 429 oraz pokaż czas i źródło obserwacji.
Zdefiniuj model
Model zachowuje rates, source, market_session i data_updated_at. Do obliczeń kwot używaj Decimal.
Zostaw klucz na serwerze
Aplikacja mobilna woła własny backend, który dodaje Authorization. Swift po stronie serwera może czytać klucz z otoczenia.
Obsłuż status i świeżość
Sprawdź status przed dekodowaniem, rozróżnij 401 i 429 oraz pokaż czas i źródło obserwacji.
Zachowaj kontekst kursu
Raport dzienny potrzebuje jednego wywołania, a dashboard może działać co godzinę. Po 429 zmniejsz częstotliwość zamiast tworzyć pętlę ponowień.
- Zapisuj kurs ze źródłem i czasem.
- Używaj go w automatyzacji i analizie.
- Nie traktuj go jako ceny wykonawczej.
ER
exchangerate.dev
Poradniki integracyjne dla programistów.