Endpoint

Konkretny adres URL w API, pod którym dostępna jest określona funkcja lub zasób. Klient wysyła tam żądania, by pobrać lub zmienić dane.

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 GET tam, gdzie serwer oczekuje POST, i dostaniesz 405 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.