Kursy walut w Go przez net/http
Zbuduj typowanego klienta Go z net/http, timeoutem, kluczem z otoczenia i polami świeżości.
Biblioteka standardowa Go wystarczy. Sprawdź status HTTP przed dekodowaniem i zachowaj źródło, sesję rynku oraz czas aktualizacji.
Key points
Zbuduj klienta: net/http, context i encoding/json pobierają wiele walut w jednym żądaniu. Bearer dodaj tylko, gdy istnieje EXCHANGERATE_API_KEY.
Wywołaj z timeoutem: context.WithTimeout zabezpiecza worker przed zawieszonym połączeniem. W produkcji używaj współdzielonego http.Client.
Obsłuż błędy i świeżość: 401 oznacza błąd klucza, a 429 zbyt duży ruch. Zachowaj source, market_session i data_updated_at; nie ujawniaj klucza w kliencie.
Zbuduj klienta
net/http, context i encoding/json pobierają wiele walut w jednym żądaniu. Bearer dodaj tylko, gdy istnieje EXCHANGERATE_API_KEY.
Wywołaj z timeoutem
Obsłuż błędy i świeżość
401 oznacza błąd klucza, a 429 zbyt duży ruch. Zachowaj source, market_session i data_updated_at; nie ujawniaj klucza w kliencie.
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.