Axios
4 minuty czytania
Axios to popularna biblioteka JavaScript, która umożliwia realizację zapytań HTTP z poziomu aplikacji Node.js. Została stworzona z myślą o ułatwieniu pracy z siecią, a jej głównym celem jest umożliwienie prostej i przejrzystej komunikacji między aplikacją a API.
Axios jest to prosty klient HTTP, za pomocą którego tworzymy zapytania w przeglądarce oraz NodeJS. Jego elementem charakterystycznym jest wykorzystanie mechanizmu tzw. obietnic, czyli wykonywane zapytanie zwraca nam jego status w postaci reject albo resolve.
W praktyce zapytania do API wykorzystują składnie "then" oraz "catch".
import axios from "axios";
axios.get('/users')
.then(res => {
console.log(res.data);
});
Ciekawostki dotyczące działania Axios
Axios oprócz możliwości wysyłania zapytań typu Get oraz Post udostępnia też inne ciekawe mechanizmy, które ułatwiają składanie zapytań do API. Poniżej zdecydowałem się przedstawić listę od najważniejszych z nich do mniej ważnych.
Axios config
Pracując w projekcie mamy możliwość tworzenia wielu zindywidualizowanych konfigów Axiosa które następnie importujemy do kodu. Pozwala nam to stworzyć zapytania, które wykorzystują inny base_url albo sposób autoryzacji.
Axios interceptor
Axios interceptor daje nam możliwość wyłapania pewnych komunikatów czy zdarzeń, które zachodzą podczas wykonywania API i odpowiedniego zadziałania. Przykładowo dla każdego błędu z autoryzacją, gdy nasz token autoryzacji wygasł mamy możliwość odtworzenia tokena i ponownego wysłania zapytania bez świadomości tego zdarzenia przez użytkownika.
Axios i AbortController
Od wersji 0.22.0 Axios daje możliwość wykorzystania AbortControllera, a więc anulowania zapytania, które zostało utworzone. Daje to szereg możliwości w postaci anulowania długo trwającego zapytania podczas przechodzenia na inną podstronę aplikacji, albo gdy logika aplikacji tego wymaga.

Obsługa żądań i odpowiedzi w Axios
Axios obsługuje różne rodzaje zapytań HTTP, takie jak GET, POST, PUT, DELETE i inne. Dzięki temu można łatwo pobierać dane z serwera, wysyłać formularze czy aktualizować informacje w bazie danych.
Jednym z kluczowych atutów Axios jest automatyczne parsowanie odpowiedzi – dane zwracane przez serwer są domyślnie przekształcane na format JSON, co eliminuje konieczność dodatkowego przetwarzania wyników.
Biblioteka ułatwia także zarządzanie nagłówkami, umożliwiając dodawanie tokenów autoryzacyjnych czy konfigurację typu przesyłanych danych.
Kolejną zaletą jest efektywna obsługa błędów – Axios domyślnie traktuje odpowiedzi spoza zakresu kodów 2xx jako błędy i pozwala je łatwo przechwycić, np. w celu wyświetlenia komunikatu użytkownikowi lub podjęcia dodatkowych działań.
Dzięki wbudowanemu systemowi konfiguracji można także ustawić domyślne parametry dla wszystkich zapytań, np. bazowy adres URL, timeout czy mechanizmy ponawiania żądań.
Axios w środowisku Node.js
Axios jest popularnym narzędziem nie tylko w aplikacjach frontendowych, ale także w środowisku Node.js, gdzie często wykorzystywany jest do integracji backendu z zewnętrznymi API.
W środowisku Node.js Axios działa na bazie natywnych modułów HTTP i HTTPS, co pozwala na wysyłanie żądań zarówno do serwerów REST API, jak i lokalnych usług backendowych. Można go wykorzystać do komunikacji między mikroserwisami, pobierania danych z serwisów zewnętrznych czy nawet do wysyłania zapytań do baz danych przez API.
Jednym z ważnych aspektów korzystania z Axios w Node.js jest możliwość łatwego zarządzania proxy, co jest przydatne w środowiskach korporacyjnych. Ponadto Axios obsługuje pobieranie i zapisywanie plików, co jest często wykorzystywane np. w aplikacjach do przetwarzania obrazów czy raportów.
Dzięki elastycznym opcjom konfiguracji, Axios w Node.js sprawdza się zarówno w prostych projektach, jak i w bardziej zaawansowanych aplikacjach backendowych, wymagających niezawodnej komunikacji z różnymi źródłami danych.
SPRAWDŹ SWOJĄ WIEDZE Z TEMATU axios
Pytanie
1/5
Axios vs Fetch – porównanie
Axios i fetch to dwie popularne metody wykonywania zapytań HTTP w JavaScript. fetch jest wbudowaną funkcją przeglądarki i oferuje podstawową obsługę żądań, natomiast Axios to biblioteka, która dodaje wiele dodatkowych funkcji, upraszczając pracę z zapytaniami.
Główne różnice między Axios a fetch:
- Obsługa odpowiedzi – Fetch nie automatycznie przekształca odpowiedzi do formatu JSON, wymaga wywołania .json(), natomiast Axios robi to automatycznie.
- Obsługa błędów – W Fetch zapytanie zwracające kod 404 lub 500 nie jest traktowane jako błąd, natomiast w Axios każda odpowiedź spoza zakresu 2xx generuje wyjątek.
- Anulowanie zapytań – Axios oferuje natywną obsługę anulowania zapytań za pomocą CancelToken lub AbortController, co w Fetch wymaga dodatkowych operacji.
- Obsługa timeout – Axios pozwala na łatwe ustawienie limitu czasu dla zapytania (timeout), Fetch nie ma tej funkcji wbudowanej.
- Wsparcie dla starszych przeglądarek – Axios działa w starszych wersjach przeglądarek, Fetch wymaga polyfilli dla np. Internet Explorera.
Podsumowując, jeśli potrzebujesz lekkiego i prostego rozwiązania, Fetch może być wystarczający. Jednak gdy pracujesz nad bardziej zaawansowanymi aplikacjami, Axios oferuje większą wygodę i elastyczność.
FAQ – najczęstsze pytania dotyczące Axios
1. Czym jest Axios?
Axios to popularna biblioteka JavaScript służąca do wykonywania zapytań HTTP. Działa zarówno w przeglądarce, jak i w środowisku Node.js.
2. Dlaczego warto używać Axios zamiast wbudowanego fetch lub http?
Axios oferuje prostszą składnię, automatyczną transformację danych JSON, obsługę timeoutów, możliwość ustawiania domyślnych nagłówków oraz wsparcie dla request/response interceptors.
3. Czy Axios obsługuje zapytania typu GET, POST, PUT, DELETE?
Tak, Axios umożliwia wykonywanie wszystkich standardowych metod HTTP: GET, POST, PUT, PATCH, DELETE i innych.
4. Czy Axios działa z async/await?
Tak! Axios świetnie współpracuje z async/await, co czyni kod bardziej czytelnym.
5. Czy Axios automatycznie przekształca odpowiedzi JSON?
Tak, Axios automatycznie parsuje odpowiedzi w formacie JSON do obiektów JavaScript.
6. Czy można używać Axios w aplikacjach front-endowych?
Tak, Axios działa zarówno po stronie serwera (Node.js), jak i w przeglądarce, co czyni go uniwersalnym narzędziem do komunikacji z API.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
SwiftData: Narzędzie do zarządzania danymi w języku Swift
12 lip 2024
Język Swift, znany z elastycznego i wydajnego zarządzania danymi, ma jeszcze jedno potężne narzędzie do swojego arsenału - SwiftData. Jest to nowoczesna, skuteczna i łatwa w użyciu biblioteka, znacząco upraszczająca pracę z danymi, która może stać się niezastąpionym narzędziem dla każdego programisty Swift.

Konfigurator produktów - nowoczesne narzędzie sprzedaży online
24 paź 2025
W dobie dynamicznego rozwoju e-commerce klienci oczekują coraz większej swobody i personalizacji podczas zakupów online. Konfiguratory produktów stają się odpowiedzią na te potrzeby, pozwalając użytkownikom samodzielnie tworzyć produkty idealnie dopasowane do ich gustu i wymagań. To nowoczesne narzędzie nie tylko ułatwia podejmowanie decyzji zakupowych, ale także zwiększa zaangażowanie klientów i skuteczność sprzedaży.
Leonardo AI - jak działa i do czego służy?
23 paź 2025
Sztuczna inteligencja coraz śmielej wkracza w świat kreatywności, pozwalając tworzyć obrazy, ilustracje i projekty graficzne w kilka sekund. Jednym z najciekawszych narzędzi w tej dziedzinie jest Leonardo AI – platforma, która łączy prostotę obsługi z ogromnymi możliwościami artystycznymi. Dzięki niej nawet osoby bez doświadczenia graficznego mogą tworzyć profesjonalnie wyglądające wizualizacje, koncepcje postaci czy materiały marketingowe.
Iterative Design: Jak proces iteracji prowadzi do lepszego produktu
22 paź 2025
W świecie, w którym oczekiwania użytkowników i warunki rynkowe zmieniają się z dnia na dzień, tworzenie idealnego produktu już za pierwszym podejściem staje się niemal niemożliwe. Dlatego coraz więcej zespołów projektowych sięga po Iterative Design - podejście oparte na ciągłym testowaniu, analizie i doskonaleniu rozwiązań. Proces iteracyjny pozwala uczyć się na błędach, reagować na potrzeby użytkowników i stopniowo zbliżać się do najlepszego możliwego efektu. To właśnie dzięki iteracjom powstają produkty bardziej intuicyjne, dopracowane i realnie odpowiadające na potrzeby odbiorców.
iBuying - co to jest i jak technologia zmienia sposób kupna i sprzedaży nieruchomości?
21 paź 2025
Rynek nieruchomości w ostatnich latach przechodzi prawdziwą cyfrową rewolucję, a jednym z najbardziej innowacyjnych zjawisk jest iBuying, czyli sprzedaż i zakup mieszkań w pełni online. Dzięki zaawansowanym algorytmom i analizie danych proces, który dotąd trwał tygodniami lub miesiącami, może zostać zrealizowany w zaledwie kilka dni. Coraz więcej firm inwestuje w ten model, oferując właścicielom szybkie, bezpieczne i przewidywalne transakcje bez pośredników.
AI Mode - nowa era inteligentnej automatyzacji
20 paź 2025
Sztuczna inteligencja przestaje być futurystycznym hasłem, a staje się realnym narzędziem, które rewolucjonizuje sposób, w jaki pracujemy, uczymy się i żyjemy. AI Mode to nowy etap tej transformacji - inteligentny tryb działania, który potrafi nie tylko wykonywać polecenia, ale też samodzielnie analizować dane, przewidywać potrzeby i wspierać użytkownika w podejmowaniu decyzji. Dzięki niemu technologia staje się partnerem, a nie tylko narzędziem, pomagając osiągać większą efektywność i kreatywność.
Zobacz wszystkie artykuły