Dela via


Infrastruktur-API för GraphQL-redigeraren

Fabric API för GraphQL tillhandahåller en grafisk GraphQL-utvecklingsmiljö i webbläsaren, som gör det möjligt för en interaktiv lekplats att skapa, testa och se liveresultatet för dina GraphQL-frågor och mutationer.

Om du vill gå till redigeraren öppnar du API:et för GraphQL-objektet från arbetsytan i Infrastruktur och väljer Fråga i det nedre vänstra hörnet på portalskärmen.

Skärmbild som visar var alternativet Fråga visas i det nedre vänstra hörnet på skärmen Infrastruktur.

Skriv och kör GraphQL-frågor direkt på fliken Fråga . Intellisense-funktioner är tillgängliga med kortkommando: CTRL + Blanksteg (Windows) eller Kommando + utrymme (macOS). Välj Kör för att köra frågan och hämta data från datakällan.

Skärmbild av skärmen FÖR API-redigeraren, som visar en frågeflik indelad i fönstret Kör, Frågevariabler och Resultat.

Generera kod

Efter testning och prototyper av önskad GraphQL-åtgärd genererar API-redigeraren python eller Node.js kod baserat på frågan eller mutationen som körs i redigeraren. Du kan köra den genererade koden lokalt i testsyfte och återanvända delar av den i programutvecklingsprocessen.

Important

Den genererade koden använder interaktiva webbläsarautentiseringsuppgifter och bör endast användas för testning. I produktion registrerar du alltid ett program i Microsoft Entra och använder lämpliga client_id omfång och omfång. Du hittar ett exempel från slutpunkt till slutpunkt med exempelkod i Anslut program.

Kom igång genom att köra en fråga, välja knappen Generera kod och välja språk i enlighet med detta:

Skärmbild av api-redigerarens skärm som visar hur du genererar kodalternativet.

Du kan sedan kopiera den genererade koden och spara den som en fil i en lokal mapp. Beroende på vilket språk du väljer följer du dessa enkla steg för att testa lokalt:

Python

  1. Skapa en virtuell miljö genom att köra kommandot python -m venv .venv.

  2. Aktivera genom att venv köra .venv\Scripts\activate eller source .venv/bin/activate.

  3. Installera det nödvändiga beroendet genom att köra pip install azure.identity.

  4. Kör koden med python <filename.py>.

Node.JS

  1. Skapa en package.json fil med följande innehåll i samma mapp som filen du sparade:

    {
      "type": "module",
      "dependencies": {}
    }
    
  2. Kör npm install --save @azure/identity eller ett liknande kommando i den valda pakethanteraren för att installera den senaste versionen av identitetsbiblioteket.

  3. Kör koden med node <filename>.js.

Utveckling av frågor och mutationer

Granska det här korta GraphQL-schemat. Den definierar en enda Post typ med frågor för att läsa ett enda inlägg eller lista alla inlägg och mutationer för att skapa, uppdatera eller ta bort inlägg, som stöder alla CRUDL-användningsfall (skapa, läsa, uppdatera, ta bort, lista).

{
  type Post {
    id: ID!
    published: Boolean
  }

  type Query {
    getPost(id: ID!): Post
    getAllPosts: [Post]
  }

  type Mutation {
    createPost(title: String!, content: String!, author: String!): Post
    updatePost(id: ID!, title: String, content: String, author: String, published: Boolean): Post
    deletePost(id: ID!): Boolean
  }
}

Läs data som exponeras via GraphQL med hjälp av en fråga som definierats i schemat. Frågan getPost ser ut som i det här exemplet.

query MyQuery {
  getPost(id: "1234") {
    title
    content
    author
  }
}

Response:

{
  "data": {
    "getPost": {
      "title": "First Post",
      "content": "This is my first post.",
      "author": "Jane Doe"
    }
  }
}

Använd mutationer som createPost att skriva data och skapa ett inlägg med nödvändiga parametrar.

mutation MyMutation {
  createPost(title: "Second post", content: "This is my second post", author: "Jane Doe", published: false) {
    id
    title
    content
    author
  }
}

Response:

{
  "data": {
    "createPost": {
      "id": "5678",
      "title": "Second Post",
      "content": "This is my second post.",
      "author": "Jane Doe"
    }
  }
}

Frågevariabler

Använd fönstret Frågevariabler till höger på fliken Fråga för att skicka parametrar som variabler till dina frågor eller mutationer. Variabler fungerar som variabler i andra programmeringsspråk. Varje variabel deklareras med ett namn som används för att komma åt värdet som lagras i den. Med hjälp av föregående mutationsexempel ändrar du det något för att använda frågevariabler.

mutation MyMutation ($title: String!, $content: String!, $author: String!){
  createPost(title: $title, content: $content, author: $author) {
    id
    title
    content
    author
  }
}

Definiera variabler i fönstret med hjälp av följande exempel.

{
  "id": "5678",
  "title": "Second Post",
  "content": "This is my second post.",
  "author": "Jane Doe"
}

Variabler gör mutationskoden renare, lättare att läsa, testa och ändra.