Sobes.tech
Junior

Jakie API można nazwać RESTful?

sobes.tech AI

Odpowiedź od AI

RESTful API spełniają zasady stylu architektonicznego REST:

  • Klient-serwer: Podział obowiązków między klientem, który żąda zasobów, a serwerem, który je dostarcza.
  • Bezstanowe (Stateless): Każde żądanie od klienta do serwera musi zawierać wszystkie niezbędne informacje do jego obsługi. Serwer nie przechowuje stanu sesji klienta.
  • Cache'owalne: Serwer musi wyraźnie lub domyślnie wskazać, czy odpowiedzi mogą być przechowywane w pamięci podręcznej przez klienta lub pośredników.
  • System warstwowy: Klient nie może odróżnić bezpośredniego wywołania serwera od wywołania przez warstwy pośrednie (proxy, load balancery itp.).
  • Kod na żądanie (opcjonalnie): Serwer może tymczasowo rozszerzać funkcjonalność klienta, przesyłając kod wykonywalny (np. JavaScript).
  • Ujednolicony interfejs: Najważniejsza zasada RESTful API. Składa się z czterech ograniczeń:
    • Identyfikacja zasobów: Zasoby są identyfikowane przez URL.
    • Manipulacja zasobami przez reprezentacje: Klient wchodzi w interakcję z zasobami, otrzymując ich reprezentacje (np. w formacie JSON, XML).
    • Samodokumentujące się wiadomości: Każda wiadomość zawiera wystarczająco informacji do obsługi, w tym metadane o tym, jak obsłużyć wiadomość i zasób.
    • HATEOAS (Hypermedia as the Engine of Application State): Serwer musi zawierać hiperłącza w swoich odpowiedziach, umożliwiające klientowi odkrycie dostępnych działań i przechodzenie między stanami aplikacji. To najmniej często spełniany zasad.

RESTful API używają standardowych metod HTTP (GET, POST, PUT, DELETE, PATCH) do operacji na zasobach identyfikowanych przez URI.

Na przykład, zapytanie GET do /api/users/123 pobiera reprezentację użytkownika o ID 123.