Sobes.tech
Junior — Middle

Meg tudnád magyarázni a REST architektúra alapelveit és hogy ezek hogyan valósulnak meg az API fejlesztés során?

sobes.tech MI

Válasz az MI-től

REST (Reprezentációs Állapot Átvitel) egy architekturális stílus webszolgáltatások létrehozására, amely egy sor alapelven alapul:

  • Kliens-szerver architektúra: a kliens és a szerver elkülönül, ez megkönnyíti a fejlesztést és a skálázást.
  • Állapot nélküli (stateless): minden kérés a kliens részéről a szerverhez tartalmazza az összes szükséges információt, a szerver nem tartja fenn az állapotot a kérések között.
  • Gyorsítótárazás: a válaszokat gyorsítótárba lehet helyezni a teljesítmény növelése érdekében.
  • Egységes felület: a standard HTTP módszerek (GET, POST, PUT, DELETE) használata az erőforrásokkal való műveletekhez.
  • Erőforrások azonosítása URI-n keresztül: minden erőforrásnak egyedi címe van.
  • Többrétegű rendszer: az architektúra több rétegből állhat, például proxy-k, átjárók.

REST API fejlesztése során ezeket az elveket így valósítják meg:

  • Az erőforrásokat (pl. felhasználók, termékek) URL-ként ábrázolják, például /users/123.
  • HTTP módszerek használata: GET az lekéréséhez, POST a létrehozáshoz, PUT/PATCH a frissítéshez, DELETE a törléshez.
  • A szerver nem tartja fenn a munkameneteket, minden adatot a kérésben továbbítanak.
  • A válaszok tartalmazhatnak fejlécet a gyorsításhoz.
  • Az adatformátumok általában JSON vagy XML.

Példa kérés egy felhasználó lekérésére:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Válasz:

{
  "id": 123,
  "name": "Ivan Ivanov"
}