Sobes.tech
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:

  1. 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.
  2. 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.
  3. Ö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"
        }
      ]
    }
    
  4. 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.