IT Protokół

REST

Znany też jako:REST APIRESTful

Definicja #

REST (Representational State Transfer) to styl architektoniczny opisany przez Roya Fieldinga w jego rozprawie doktorskiej w 2000 roku. Definiuje zestaw zasad projektowania interfejsów API wykorzystujących protokół HTTP.

Sześć zasad REST:

  • Bezstanowość — każde żądanie zawiera wszystkie informacje potrzebne do jego obsłużenia
  • Jednolity interfejs — spójne zasoby identyfikowane przez URI
  • Architektura klient-serwer — rozdzielenie logiki prezentacji i danych
  • Możliwość cachowania — odpowiedzi oznaczane jako cachowalne lub nie
  • Warstwowość — klient nie wie, czy komunikuje się bezpośrednio z serwerem
  • Code on demand (opcjonalnie) — serwer może dostarczyć wykonywalny kod

Metody HTTP w REST: GET (pobieranie), POST (tworzenie), PUT/PATCH (aktualizacja), DELETE (usuwanie). Odpowiedzi najczęściej w formacie JSON, rzadziej XML. REST jest alternatywą dla SOAP (bardziej restrykcyjny protokół) oraz GraphQL (elastyczne zapytania).

Zastosowania #

REST API stosuje się do:

  • Komunikacji między frontendem (SPA, aplikacje mobilne) a backendem
  • Integracji systemów i mikroserwisów
  • Publicznych API platform (płatności, mapy, social media, etc.)
  • Webhooków — powiadamiania zewnętrznych systemów o zdarzeniach
  • Backendów dla urządzeń IoT i systemów wbudowanych

Ścieżka nauki #

Zanim zaczniesz projektować REST API, poznaj:

  • HTTP — metody, kody statusów (200, 201, 400, 401, 404, 500), nagłówki
  • JSON — format danych, serializacja i deserializacja
  • Podstawy dowolnego języka backendowego (Python, Java, C#, Node.js)

Następnie naucz się:

  • Projektowania zasobów i URI (konwencje nazewnictwa, hierarchia)
  • Autoryzacji API — JWT, OAuth 2.0, API keys
  • Dokumentowania API narzędziami OpenAPI/Swagger
  • Wersjonowania API (/v1/, /v2/)
  • Porównaj z alternatywami: GraphQL i gRPC — kiedy je wybrać

FAQ #

Czym różni się REST od SOAP?
REST to lekki styl architektoniczny używający HTTP i JSON, bez narzuconego formatu. SOAP to protokół z rygorystycznym schematem XML, kontraktami WSDL i wbudowanym WS-Security. REST jest bardziej popularny w nowoczesnych aplikacjach, SOAP wciąż spotykany w systemach korporacyjnych.
Czym różni się REST od GraphQL?
W REST każdy zasób ma własny endpoint i klient dostaje stałą strukturę odpowiedzi. W GraphQL klient sam definiuje, jakie pola chce pobrać w jednym żądaniu, co eliminuje problem over-fetchingu i under-fetchingu.
Co to jest RESTful API?
RESTful API to interfejs programistyczny zaprojektowany zgodnie z zasadami REST. Terminy REST API i RESTful API są używane zamiennie, choć RESTful sugeruje ścisłe przestrzeganie wszystkich zasad Fieldinga.
Ile zarabia programista znający REST API?
Znajomość REST API jest wymogiem podstawowym dla większości backendowców i fullstacków. Programista ze znajomością REST i np. Java lub Python zarabia w Polsce od 10 000 do 22 000 zł brutto.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z REST w ogłoszeniach.

Cały słownik IT

Najnowsze oferty z REST

Wybrane ogłoszenia wymagające REST — wszystkie z widełkami.

Wszystkie 136

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.