Sobes.tech
Junior

Czym jest REST?

sobes.tech AI

Odpowiedź od AI

REST (Transfer Stanów Reprezentacyjnych) to styl architektoniczny służący do budowania systemów rozproszonych, głównie używany przy projektowaniu usług internetowych. Opiera się na zestawie zasad i ograniczeń, które określają, jak zasoby sieciowe wchodzą ze sobą w interakcje.

Kluczowe zasady REST:

  • Klient-serwer: Wyraźny podział obowiązków między klientem a serwerem.
  • Bezstanowość (stateless): Serwer nie przechowuje informacji o stanie klienta między żądaniami. Każde żądanie zawiera wszystkie niezbędne informacje do obsługi.
  • Cache'owalność: Klienci mogą buforować odpowiedzi serwera, aby zwiększyć wydajność. Serwer wyraźnie wskazuje, czy odpowiedź może być buforowana.
  • System warstwowy: Klient może komunikować się z pośrednią warstwą (np. proxy, load balancer) bez tego świadomie.
  • Kod na żądanie (opcjonalnie): Serwer może przesłać kod wykonywalny do klienta (np. JavaScript), rozszerzając funkcjonalność klienta.
  • Ujednolicony interfejs: najważniejsza zasada, obejmująca:
    • Identyfikację zasobów (URI).
    • Manipulację zasobami przez reprezentacje (wymianę danych w określonym formacie, np. JSON, XML).
    • Samoopisujące się wiadomości (wiadomości zawierają wszystkie niezbędne informacje do ich zrozumienia).
    • HATEOAS (Hypermedia as the Engine of Application State): Klient przechodzi między stanami aplikacji, korzystając z hiperłączy zawartych w odpowiedziach serwera.

API RESTful to implementacja stylu REST dla usług internetowych, wykorzystująca standardowe metody HTTP (GET, POST, PUT, DELETE) do pracy z zasobami.

// Przykład użycia metod HTTP w API RESTful
// Pobierz zasób
// GET /api/products/1

// Utwórz zasób
// POST /api/products
// Treść: { "name": "Nowy Produkt", "price": 10.50 }

// Zaktualizuj zasób
// PUT /api/products/1
// Treść: { "name": "Zaktualizowany Produkt", "price": 11.00 }

// Usuń zasób
// DELETE /api/products/1