Middle+
Beszélj az egységes felület szabályáról (Uniform Interface).
sobes.tech MI
Válasz az MI-től
Az Egységes Felület Szabálya a REST hat architekturális korlátozása közül egyik. Előírja, hogy a rendszer egységes, szabványosított megközelítést alkalmazzon a kliens és a szerver közötti kommunikációban. Ez egyszerűsíti és elválasztja az architektúrát, javítja a láthatóságot, és megkönnyíti a kliens és szerver független fejlesztését.
Az Egységes Felület komponensei:
- Erőforrások azonosítása: Az erőforrásokat egyedileg kell azonosítani (általában URI-n keresztül). Ez az alapja a szabványosított interakciónak. Példa:
/felhasználók/123,/termékek/ABC. - Erőforrások manipulálása azok reprezentációin keresztül: A kliens kap egy reprezentációt az erőforrásról (például JSON vagy XML formátumban), amely elegendő információt tartalmaz az erőforrás módosításához vagy törléséhez a szerveren. Az erőforrás állapota a szerveren módosítható a módosított reprezentáció küldésével.
- Önleíró üzenetek: Minden üzenet (kérés vagy válasz) tartalmaznia kell elegendő információt ahhoz, hogy teljesen megértsük anélkül, hogy a szerver állapotára vagy más kérésekre vonatkozó kontextust ismernénk. Ez magában foglalja a metaadatokat: tartalomtípust, cache-információkat, más erőforrásokra mutató linkeket stb.
HTTP/1.1 200 OK Content-Type: application/json Cache-Control: max-age=3600 { "name": "Példa Felhasználó", "links": [ { "rel": "self", "href": "/felhasználók/123" } ] } - Hipermediat, mint az alkalmazás állapotának motorja (HATEOAS): Lehetővé teszi a kliens számára, hogy dinamikusan navigáljon az erőforrások között, a szerver által a válaszban megadott hiperlinkek alapján. A kliens nem kell, hogy előre ismerje az összes URI-t, csak a belépési pontot. A szerver irányítja a klienst a rendelkezésre álló műveleteken és erőforrásokon keresztül.
{ "orderId": "A123", "status": "feldolgozás alatt", "links": [ { "rel": "mégsem", "href": "/rendelések/A123/mégsem", "method": "POST" }, { "rel": "self", "href": "/rendelések/A123" } ] }
A merev kódolt utak helyett a kliens a rel: "mégsem" link megléte és tartalma alapján tudja felfedezni a rendelés törlésének lehetőségét.
Az Egységes Felület kritikus fontosságú a RESTful rendszerek skálázhatósága és fejlődése szempontjából, mivel csökkenti az összekapcsoltságot a komponensek között.