Sobes.tech
Junior

Co je to REST API?

sobes.tech AI

Odpověď od AI

REST API je architektonický styl pro budování distribuovaných systémů. Hlavní principy REST:

  • Bezstavovost: Každý požadavek od klienta na server musí obsahovat všechny potřebné informace pro zpracování. Server neukládá stav klienta mezi požadavky.
  • Klient-server: Jasné rozdělení odpovědností mezi klientem a serverem. Klient odesílá požadavky, server je zpracovává.
  • Cacheovatelnost: Server musí uvést, zda mohou být odpovědi ukládány do mezipaměti klientem nebo prostředníky.
  • Systém v vrstvách: Klient nemusí nutně komunikovat přímo s konečným serverem; může komunikovat přes mezivrství (proxy, load balancery).
  • Jednotné rozhraní: Jedinečný a standardizovaný způsob interakce mezi klientem a serverem. Tento princip zahrnuje:
    • Identifikace zdrojů: Zdroje (data) jsou identifikovány pomocí URL.
    • Manipulace se zdroji přes reprezentace: Klient interaguje se zdroji, získává jejich reprezentace (například JSON, XML) a posílá nové reprezentace ke změně.
    • Samoodpovídající zprávy: Každá zpráva obsahuje dostatek informací k pochopení, jak ji zpracovat.
    • HATEOAS (Hypertext As The Engine Of Application State): Zdroje by měly obsahovat odkazy (hypertextové odkazy) na související zdroje a dostupné akce.

REST API obvykle používá standardní HTTP metody k provádění operací nad zdroji:

  • GET: Získání zdroje nebo kolekce zdrojů.
  • POST: Vytvoření nového zdroje.
  • PUT: Kompletní aktualizace existujícího zdroje.
  • PATCH: Částečná aktualizace existujícího zdroje.
  • DELETE: Odstranění zdroje.

Příklad JSON reprezentace zdroje:

{
  "id": 1, // Identifikátor
  "name": "Resource Name", // Název zdroje
  "description": "Detailed description of the resource." // Popis zdroje
}

Testování REST API zahrnuje kontrolu:

  • Funkčnost (správnost odpovědí na požadavky).
  • Zpracování chyb.
  • Výkon.
  • Bezpečnost.
  • Shodu s dokumentací.