Endpoint (po polsku „punkt końcowy”) to konkretny adres URL w API, pod którym dostępna jest jedna określona funkcja albo zasób. Klient — Twoja aplikacja, skrypt czy zwykły curl — wysyła pod ten adres żądanie HTTP, żeby pobrać dane, dodać nowe albo coś zmienić. Jeden endpoint = jedno wejście do systemu. API składa się zwykle z wielu endpointów, a każdy odpowiada za inny wycinek funkcjonalności.
Jak to działa
Endpoint to nie tylko sam adres. Liczy się też metoda HTTP, której używasz. Pod tym samym URL-em /users/42 GET pobierze dane użytkownika, PUT je nadpisze, a DELETE skasuje konto. Serwer rozpoznaje kombinację „metoda + ścieżka” i kieruje żądanie do odpowiedniego fragmentu kodu (tzw. routing). W stylu REST endpointy nazywa się rzeczownikami opisującymi zasoby — /products, /orders/7/items — a nie czasownikami w stylu /getProducts.
Do żądania zwykle dokładasz nagłówki (np. token autoryzacyjny), parametry zapytania (?page=2&limit=20) albo treść w formacie JSON. W odpowiedzi dostajesz dane plus kod statusu HTTP, który mówi, czy się udało.
Przykład z praktyki
Załóżmy, że korzystasz z GitHub API. Endpoint zwracający Twoje repozytoria to https://api.github.com/users/octocat/repos. Odpytasz go z terminala tak:
curl -H "Authorization: Bearer TWÓJ_TOKEN" https://api.github.com/users/octocat/repos
W odpowiedzi przyleci JSON z listą repozytoriów i status 200 OK. Zmień ścieżkę na /user/repos i metodę na POST z odpowiednim ciałem, a tym samym narzędziem utworzysz nowe repo. Do klikania po endpointach bez pisania komend świetnie nadają się Postman albo Insomnia — widzisz w nich od razu odpowiedź, nagłówki i kod statusu.
Częste pułapki
- Mylenie endpointu z całym API. API to zbiór wielu endpointów, nie jeden adres.
- Zła metoda HTTP. Wyślesz
GETtam, gdzie serwer oczekujePOST, i dostaniesz405 Method Not Allowed— adres był dobry, metoda nie. - Brak wersji w ścieżce. Endpointy często mają prefiks typu
/v1/. Zmiana na/v2/potrafi przerobić całe odpowiedzi, więc czytaj dokumentację. - Literówka w ścieżce to klasyczne źródło
404 Not Found, a nie problem z autoryzacją.
Pojęcia powiązane: API, REST, HTTP, metoda HTTP (GET/POST/PUT/DELETE), URL, JSON, request i response, kod statusu HTTP, token autoryzacyjny.