Fabric API for GraphQL 编辑器

Fabric API for GraphQL 提供图形化的浏览器内 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\activatesource .venv/bin/activate.

  3. 通过运行 pip install azure.identity来安装所需的依赖项。

  4. 使用 python <filename.py>. 执行代码。

Node.JS

  1. 在与保存的文件所在的相同文件夹中,创建包含以下内容的 package.json 文件:

    {
      "type": "module",
      "dependencies": {}
    }
    
  2. 在所选的包管理器中运行 npm install --save @azure/identity 或类似的命令,以安装最新版本的标识库。

  3. 使用 node <filename>.js. 执行代码。

查询和突变的开发

查看此简短的 GraphQL 架构。 它定义了一种 Post 类型,其中包含用于读取单个帖子或列出所有帖子的查询,以及用于创建、更新或删除帖子的突变,支持所有 CRUDL(创建、读取、更新、删除、列出)用例。

{
  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
  }
}

使用架构中定义的任何查询读取通过 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"
}

变量使突变代码更简洁、更易于读取、测试和修改。