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.