6. RESTful API

6.1. Koncepcja zasobu

Zasób reprezentuje wszystko, co można identyfikować, przechowywać, manipulować lub przekazywać w systemie. Może to być dowolny element w aplikacji. Pod pojęciem zasobu może kryć się np. użytkownik, produkt, zamówienie, dokument, artykuł czy nawet wynik operacji.
Zasoby są identyfikowane za pomocą unikalnych adresów URL (ang. Uniform Resource Locator).

Przykłady zasobów wskazywanych przez adresy URL:
Zasób jest dostarczany klientowi w określonym formacie, zwanym reprezentacją. Najpopularniejszym formatem opisującym zasób jest obecnie JSON, ale spotyka się także XML. Ponadto stosowane są także inne formaty takie jak HTML, tekst czy binarne dane (np. obrazy, filmy, dźwięki), w zależności od wymagań danej aplikacji. Co istotne, format reprezentacji nie musi być tożsamy z formatem przechowywania danych.
Przykład zasobu reprezentowanego w formacie JSON:

  {
      "id": 1,
      "name": "Jan Kowalski",
      "email": "jan.kowalski@serwer.com"
  }
Przykład analogicznego zasobu w formacie XML:
  
<user>
    <id>1</id>
    <name>Jan Kowalski</name>
    <email>jan.kowalski@serwer.com</email>
</user>