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"
}