在.NET Core 中使用 GraphQL 进行 API 开发的教程

GraphQL 是一种用于 API 开发的查询语言和运行时环境。它使得客户端能够精确地请求所需的数据,而不是像 REST API 那样请求整个资源。在本文中,我们将介绍如何在 .NET Core 中使用 GraphQL 进行 API 开发。

什么是 GraphQL?

GraphQL 是由 Facebook 开发的一种查询语言和运行时环境。它允许客户端精确地指定所需的数据,而不是像 REST API 那样请求整个资源。GraphQL 使用类型系统来定义查询和响应的结构,这使得客户端和服务器之间的通信更加清晰和可预测。

GraphQL 有三个主要组件:查询、类型和解析器。查询是客户端发送给服务器的请求。类型定义了查询和响应的结构。解析器将查询映射到响应。

在 .NET Core 中使用 GraphQL

在 .NET Core 中使用 GraphQL 需要安装一些 NuGet 包。我们将使用以下包:

  • GraphQL
  • GraphQL.Server.Transports.AspNetCore
  • GraphQL.Server.Ui.Playground

创建项目

首先,我们需要创建一个 .NET Core 项目。我们可以使用命令行界面(CLI)或 Visual Studio 创建项目。在本教程中,我们将使用 Visual Studio 创建项目。

在 Visual Studio 中,选择“创建新项目”,然后选择 ASP.NET Core Web 应用程序。选择“API”模板,并确保选择“ASP.NET Core 3.1”作为目标框架。单击“创建”按钮。

安装 NuGet 包

安装 NuGet 包是使用 GraphQL 的第一步。我们需要在项目中安装以下 NuGet 包:

  • GraphQL
  • GraphQL.Server.Transports.AspNetCore
  • GraphQL.Server.Ui.Playground

我们可以使用 NuGet 管理器或 CLI 安装这些包。在本教程中,我们将使用 NuGet 管理器。

在 Visual Studio 中,右键单击项目,选择“管理 NuGet 包”菜单。在“浏览”选项卡中搜索并安装以上三个 NuGet 包。

创建 GraphQL 查询

现在,我们将创建一个 GraphQL 查询。我们将创建一个简单的查询,该查询返回一些硬编码的数据。

在项目中创建一个名为“Queries”或“GraphQL”(或其他名称)的文件夹。在该文件夹中创建一个名为“HelloWorldQuery.cs”的类文件。

在“HelloWorldQuery.cs”文件中,添加以下代码:

----- --------------

------ ----- --------------- - ---------------
-
    ------ -----------------
    -
        -----------------------
            --------
            -------- ------- -- ------ -------
        --
    -
-

该代码创建了一个名为“hello”的查询,该查询返回“Hello World!”字符串。

创建 GraphQL Schema

现在,我们需要创建一个 GraphQL Schema。Schema 定义了我们的查询和响应的结构。

在项目中创建一个名为“GraphQL”(或其他名称)的文件夹。在该文件夹中创建一个名为“Schema.cs”的类文件。

在“Schema.cs”文件中,添加以下代码:

----- --------
----- --------------

------ ----- ------ - --------------------
-
    ------ -------------------------- --------- - --------------
    -
        ----- - ------------------------------------
    -
-

该代码创建了一个名为“Schema”的类,并将“HelloWorldQuery”设置为查询。

创建 GraphQL Endpoint

现在,我们需要创建一个 GraphQL Endpoint。Endpoint 允许客户端发送查询并接收响应。

在“Startup.cs”文件中,添加以下代码:

----- --------
----- ---------------
----- -----------------------------
----- -----------------------------
----- -----------------------------
----- --------------------------
----- -----------------------------------------

------ ----- -------
-
    ------ ---- ------------------------------------ ---------
    -
        -------------------------------------------- -- --- ----------------------------------------------
        --------------------------------
        --------------------------- --
        -
            --------------------- - -----
            ------------------------ - -----
        --
        ---------------------------------------
    -

    ------ ---- ----------------------------- ---- ------------------- ----
    -
        -- ---------------------
        -
            --------------------------------
        -

        -------------------------
        ---------------------------- ----------------------------
    -
-

该代码将 GraphQL Endpoint 添加到我们的应用程序中。它还提供了一个可视化工具,允许我们测试查询。

测试 GraphQL 查询

现在,我们可以测试我们的 GraphQL 查询。在浏览器中访问“/ui/playground”端点,然后在左侧的查询编辑器中输入以下查询:

----- -
  -----
-

点击“运行查询”按钮,应该会在右侧的响应区域中看到“Hello World!”字符串。

结论

在本文中,我们介绍了如何在 .NET Core 中使用 GraphQL 进行 API 开发。我们创建了一个简单的查询并测试了它。GraphQL 的优点是它允许客户端精确地请求所需的数据,这使得通信更加清晰和可预测。如果您想了解更多关于 GraphQL 的信息,请参阅官方文档。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67281be82e7021665e1f148f