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