Sobes.tech
Junior

Mi az a REST API?

sobes.tech MI

Válasz az MI-től

A REST API egy architektúrális stílus az elosztott rendszerek építéséhez. A REST alapelvei:

  • Állapot nélküli: Minden kérés a kliens részéről a szerverhez tartalmazza az összes szükséges információt a feldolgozáshoz. A szerver nem tartja nyilván a kliens állapotát a kérések között.
  • Kliens-Szerver: Világos felelősségmegosztás a kliens és a szerver között. A kliens kérdéseket küld, a szerver feldolgozza azokat.
  • Cache-elhető: A szervernek jeleznie kell, hogy a válaszok cache-elhetők-e a kliens vagy közbenső eszközök által.
  • Réteges rendszer: A kliens nem feltétlenül kommunikál közvetlenül a végső szerverrel; közbenső réteken keresztül (proxy, load balancer) is kommunikálhat.
  • Egységes felület: Egységes és szabványosított módja a kliens és szerver közötti kommunikációnak. Ez az elv magában foglalja:
    • Erőforrások azonosítása: Az erőforrásokat (adatokat) URL-ekkel azonosítják.
    • Erőforrások manipulálása reprezentációkon keresztül: A kliens az erőforrásokkal való interakció során azok reprezentációit (pl. JSON, XML) kapja meg, és új reprezentációkat küld a módosításhoz.
    • Önmagát leíró üzenetek: Minden üzenet tartalmaz elegendő információt a feldolgozáshoz.
    • HATEOAS (Hypertext As The Engine Of Application State): Az erőforrásoknak tartalmazniuk kell hivatkozásokat (hiperlinkeket) kapcsolódó erőforrásokra és elérhető műveletekre.

A REST API általában a HTTP szabványos módszereit használja az erőforrásokon végzett műveletekhez:

  • GET: Erőforrás vagy erőforrás-gyűjtemény lekérése.
  • POST: Új erőforrás létrehozása.
  • PUT: Egy meglévő erőforrás teljes frissítése.
  • PATCH: Egy meglévő erőforrás részleges frissítése.
  • DELETE: Erőforrás törlése.

Példa egy erőforrás JSON reprezentációjára:

{
  "id": 1, // Azonosító
  "name": "Resource Name", // Erőforrás neve
  "description": "Detailed description of the resource." // Erőforrás leírása
}

A REST API tesztelése magában foglalja a következőket:

  • Funkcionalitás (a válaszok helyessége a kérésekre).
  • Hibakezelés.
  • Teljesítmény.
  • Biztonság.
  • Dokumentációnak való megfelelés.