Megosztás a következőn keresztül:


Szintetikus GraphQL API hozzáadása és mezőfeloldók beállítása

Minden API-kezelési szintre vonatkozik

Az API Managementben hozzáadhat egy GraphQL API-t két modell egyikéhez: átadhatja egy meglévő GraphQL-végpontnak, vagy importálhat egy GraphQL-sémát, és létrehozhat egy szintetikus GraphQL API-t egyéni mezőfeloldókkal. További információkért tekintse meg a GraphQL áttekintését.

Megjegyzés

Ez a funkció jelenleg nem érhető el a munkaterületeken.

Ebben a cikkben a következőkről lesz szó:

  • GraphQL-séma importálása az Azure API Management-példányba.
  • Állítson be egy feloldót egy GraphQL-lekérdezéshez egy meglévő HTTP-végpont használatával.
  • Tesztelje a GraphQL API-t.

Ha egy meglévő GraphQL-végpontot szeretne API-ként elérhetővé tenni, olvassa el a GraphQL API importálása című témakört.

Előfeltételek

  • Egy meglévő API Management-példány. Hozzon létre egyet, ha még nem tette meg.
  • Érvényes GraphQL-sémafájl a .graphql kiterjesztéssel.
  • Ebben a forgatókönyvben nem kötelező egy háttérbeli GraphQL-végpont.

Nyissa meg az API Management-példányát

  1. Az Azure portálonkeresse meg és válassza ki a API Management szolgáltatásokat:

    képernyőkép, amely az API Management-szolgáltatásokat jeleníti meg a keresési eredmények között.

  2. Az API Management-szolgáltatások lapon válassza ki az API Management-példányt:

    Képernyőkép, amely egy API Management-példányt jelenít meg az API Management szolgáltatások lapján.

GraphQL-séma hozzáadása

  1. A bal oldali panelEN, az API-k alatt válassza az API-kat.

  2. Az Új API definiálása területen válassza a GraphQL csempét.

    Képernyőkép a GraphQL csempe kiválasztásáról.

  3. A párbeszédpanelen válassza a Teljes lehetőséget, majd írja be az értékeket a szükséges mezőkbe az alábbi táblázatban leírtak szerint.

    Képernyőkép a GraphQL-séma létrehozási oldaláról.

    Érték Leírás
    Megjelenített név Az a név, amellyel a GraphQL API megjelenik.
    Név A GraphQL API nyers neve. A megjelenítendő név beírása közben automatikusan feltöltődik.
    GraphQL-típus Válassza a Szintetikus GraphQL opciót a GraphQL-sémafájlból való importáláshoz.
    Fallback GraphQL végpont Megadhat egy GraphQL API-végpontnevet tartalmazó URL-címet. Az API Management továbbítja a GraphQL-lekérdezéseket erre a végpontra, ha egy egyéni feloldó nincs beállítva egy mezőhöz.
    Leírás Adja meg az API leírását.
    URL-séma Válasszon ki egy sémát a GraphQL-végpont alapján. Válassza ki a WebSocket-sémát (WS vagy WSS) tartalmazó lehetőségek egyikét, ha a GraphQL API tartalmazza az előfizetés típusát. Az alapértelmezett beállítás a HTTP(S).
    API URL-címének utótagja Adjon hozzá egy URL-utótagot az ADOTT API azonosításához az API Management-példányban. Az API Management-példányban egyedinek kell lennie.
    Kiindulási URL-cím Az API alap URL-címét megjelenítő nem szerkeszthető mező.
    Címkék A GraphQL API-t igény szerint új vagy meglévő címkékkel is társíthatja.
    Termékek Társítsa a GraphQL API-t egy termékkel a közzététel érdekében.
    Verziózza ezt az API-t? Jelölje be a jelölőnégyzetet, ha verziószámozási sémát szeretne alkalmazni a GraphQL API-ra.
  4. Válassza a Létrehozás lehetőséget.

  5. Az API létrehozása után tekintse át vagy módosítsa a sémát a Séma lapon.

Feloldó konfigurálása

Konfiguráljon egy feloldót a séma egy mezőjének egy meglévő HTTP-végponthoz való leképezéséhez. A magas szintű lépések itt érhetők el. További részletekért lásd : GraphQL-feloldó konfigurálása.

Tegyük fel, hogy importálta a következő alapszintű GraphQL-sémát, és szeretne beállítani egy feloldót a users lekérdezéshez.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. A bal oldali panelEN, az API-k alatt válassza az API-kat.

  2. Válassza ki a GraphQL API-t.

  3. A Séma lapon tekintse át egy olyan objektumtípus egyik mezőjének sémáját, amelyben konfigurálni szeretné a feloldót.

    1. Jelöljön ki egy mezőt, majd vigye az egérmutatót a bal margóra.

    2. Válassza a Feloldó hozzáadása lehetőséget.

      GraphQL-feloldó hozzáadása a portálon – képernyőkép.

  4. A Feloldó létrehozása panelen:

    1. Ha szeretné, frissítse a Név tulajdonságot, szükség esetén adjon meg egy leírást, és erősítse meg vagy frissítse a típus- és mezőkijelöléseket.
    2. Az adatforrásban válassza a HTTP API-t.
  5. A Resolver szabályzatszerkesztőjében frissítse a(z) <http-data-source> elemet az Ön forgatókönyvéhez tartozó alárendelt elemekkel. Például az alábbi feloldó egy meglévő HTTP-adatforrás hívásával lekéri a users mezőt.

        <http-data-source>
            <http-request>
                <set-method>GET</set-method>
                <set-url>https://myapi.contoso.com/users</set-url>
            </http-request>
        </http-data-source>
    

    Képernyőkép a feloldó házirend portálon való konfigurálásáról.

  6. Válassza a Létrehozás lehetőséget.

  7. A séma egy másik mezőjének adatainak feloldásához ismételje meg az előző lépéseket egy másik feloldó létrehozásához.

Tipp.

A feloldóházirend szerkesztésekor válassza a Teszt futtatása lehetőséget az adatforrás kimenetének ellenőrzéséhez, amelyet érvényesíthet a sémán. Hibák esetén a válasz hibaelhárítási információkat is tartalmaz.

A GraphQL API tesztelése

  1. Nyissa meg az API Management-példányt.

  2. A bal oldali ablaktáblán, az API-k szakaszban válassza az API-kat.

  3. A Összes API alatt válassza ki a GraphQL API-t.

  4. A tesztkonzol eléréséhez válassza a Teszt fület.

  5. Fejlécek alatt:

    1. Válassza ki a fejlécet a Név menüből.
    2. Írja be az értéket az Érték mezőbe.
    3. További fejlécek hozzáadásához válassza a Fejléc hozzáadása lehetőséget.
    4. Fejlécek törlése a Lomtár gombbal.
  6. Ha hozzáadott egy terméket a GraphQL API-hoz, adjon hozzá egy termékhatókört az Apply product scope (Termékhatókör alkalmazása) területen.

  7. A Lekérdezésszerkesztőben tegye az alábbiak egyikét:

    1. Jelöljön ki legalább egy mezőt vagy almezőt a szerkesztőtől balra található menüből. A kiválasztott mezők és almezők megjelennek a lekérdezésszerkesztőben.

    2. Kezdjen el gépelni a lekérdezésszerkesztőben egy lekérdezés megírásához.

      A lekérdezésszerkesztő képernyőképe.

  8. A Lekérdezés változók csoportban adjon hozzá változókat ugyanazon lekérdezés vagy mutáció újrafelhasználásához, és adjon át különböző értékeket.

  9. Válassza az Küldés lehetőséget.

  10. Tekintse meg a választ.

    Képernyőkép a teszt lekérdezési válaszáról.

  11. Ismételje az előző lépéseket a különböző terhelések teszteléséhez.

  12. Ha befejezte a tesztelést, lépjen ki a tesztkonzolból.

Védd meg a GraphQL API-t

A GraphQL API biztonságossá tételéhez alkalmazza a meglévő hitelesítési és engedélyezési szabályzatokat , valamint egy GraphQL-érvényesítési szabályzatot a GraphQL-specifikus támadások elleni védelem érdekében.