共用方式為


GraphQL 編輯器的 Fabric API

適用於 GraphQL 的 Fabric API 提供圖形化瀏覽器的 GraphQL 開發環境,可讓互動式遊樂場撰寫、測試及查看 GraphQL 查詢和變動的即時結果。

若要移至編輯器,請在 Fabric 中開啟 GraphQL 項目的 API,然後選取入口網站畫面左下角的 [查詢]

顯示 [查詢] 選項出現在 Fabric 畫面左下角位置的螢幕擷取畫面。

您可以直接在 [查詢] 索引卷標上輸入及執行 GraphQL 查詢。您可以使用鍵盤快捷方式來使用 Intellisense 功能:CTRL + 空格鍵(Windows),或命令 + 空間(macOS)。 選取 [ 執行 ] 以執行查詢,並據以從數據源擷取數據。

API 編輯器畫面的螢幕擷取畫面,其 [查詢] 索引標籤分為 [執行]、[查詢變數] 和 [結果] 窗格。

產生程式碼

測試並製作所需 GraphQL 作業的原型之後,API 編輯器就可以根據編輯器中執行的查詢或突變,產生未定案 Python 或Node.js程序代碼。 您可以在本機執行產生的程式代碼,以進行測試,並在應用程式開發程式中重複使用部分程序代碼。

重要

產生的程式代碼會使用互動式瀏覽器認證,而且應該僅用於測試目的。 在生產環境中,請一律在 Microsoft Entra 中註冊應用程式,並使用適當的 client_id 和範圍。 您可以在連線應用程式找到具有範例程式碼的端對端範例。

若要開始使用,請執行查詢,選取 [ 產生程序代碼 ] 按鈕,並據此選擇語言:

開啟 [產生程序代碼] 選項之後,API 編輯器畫面的螢幕快照。

然後,您可以複製產生的程式代碼,並將其儲存為本機資料夾中的檔案。 視選擇的語言而定,請遵循簡單的步驟在本機測試:

Python
  1. 使用 命令建立虛擬環境 python -m venv .venv
  2. venv使用 .venv\Scripts\activate 或啟動source .venv/bin/activate
  3. 使用命令安裝必要的相依性 pip install azure.identity
  4. 使用執行程序代碼 python <filename.py>
Node.JS
  1. 在您儲存的檔案所在的相同資料夾中,使用 package.json 下列內容建立檔案:
{
  "type": "module",
  "dependencies": { 
  }
}
  1. npm install --save @azure/identity在您選擇的套件管理員中執行或類似的命令,以安裝最新版的身分識別連結庫。
  2. 使用執行程序代碼 node <filename>.js

查詢和變動的開發

請檢閱下列簡短 GraphQL 結構描述,其會定義具有查詢的單一 Post 類型,以讀取單一文章或列出所有文章。 它也會定義變動來建立、更新或刪除支援所有 CRUDL (建立、讀取、更新、刪除、清單) 使用案例的文章。

type Post {
  id: ID!
  title: String!
  content: String!
  author: String!
  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
}

您可以使用結構描述中定義的任何查詢,讀取透過 GraphQL 公開的資料。 getPost 查詢應該看起來如下範例所示。

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

回應:

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

使用類似 createPost 的變動來寫入資料,以建立具有必要參數的文章。

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

回應:

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

查詢變數

使用 [查詢] 索引標籤右側的 [查詢變數] 窗格,將任何參數當做變數傳遞至您的查詢或變動。 變數的運作方式與任何其他程式設計語言中的變數相同。 每個變數都必須以用來存取儲存於其中之值的名稱來宣告。 使用先前的變動範例,您可以稍微加以修改以使用查詢變數。

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

如下列範例所示,在窗格中定義變數。

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

變數可讓變動程式碼更簡潔且更容易讀取、測試及修改參數。