欢迎来到您的 GraphQL 之旅的起点!
什么是GraphQL?GraphQL 是现代网络的开发者友好型 查询 语言。它改变了应用程序从 API 获取数据的方式,使您能够通过单个查询获得所需的确切内容。
以强类型模式为核心,GraphQL 帮助您定义跨任意数量系统的数据之间的关系,使您能够专注于 您的数据能做什么 而不是存储在哪里。
在本课程中,我们将学习 GraphQL 如何融入我们现有的体系结构,以及它如何与现有的 REST API 和其他 数据源 一起工作。我们将学习如何使用查询、变异、参数、模式和 解析器 在我们的 GraphQL API 中。
我们将使用 Hot Chocolate 构建一个 GraphQL 服务器。不,不是热腾腾的巧克力饮料!我们说的是面向 .NET 开发人员的 GraphQL 服务器框架。
准备好撸起袖子,写一些代码,测试您的理解,并构建一些很酷的东西!
在本课中,我们将
- 了解我们正在构建的内容
- 设置我们的项目环境
先决条件
本课程使用 C# 和 .NET 8。您应该熟悉C# 基本编程概念 以便跟随本课程。
我们还建议您熟悉 如何使用 REST API 和 HTTP 请求 的基础知识。
我们正在构建的内容
听着!准备好 调入 我们在本课程中构建的内容? 隆隆鼓声 请 🥁
如果您从所有这些与音乐相关的提示中看不出,我们正在构建一个名为 MusicMatcher 的音乐目录 API,它可以帮助我们为合适的时刻找到合适的配乐。
对于 MusicMatcher 的第一个迭代,我们将专注于播放列表:展示特色播放列表、列出播放列表的曲目和添加曲目。在未来的课程中,我们将添加更多功能,例如分页、身份验证、中间模式设计概念和联合。
项目设置
要跟随本课程,您需要以下内容
代码编辑器或 IDE
我们将使用 VS Code,但您可以随意使用您最喜欢的用于 .NET 开发的编辑器或 IDE!
在本地克隆存储库
项目存储库是运行以下命令的结果dotnet new web -o Odyssey.MusicMatcher
以基于 ASP.NET Core Empty web 模板创建一个新项目。它还在 README 中包含一些有关如何启动和运行的额外说明。
git clone https://github.com/apollographql-education/odyssey-intro-hotchocolate
以下是项目的结构
📦 Odyssey.MusicMatcher┣ 📂 Data┃ ┣ 📄 swagger.json┣ 📂 Properties┃ ┣ 📄 launchSettings.json┃ 📄 appsettings.Development.json┃ 📄 appsettings.json┃ 📄 Odyssey.MusicMatcher.csproj┃ 📄 Odyssey.MusicMatcher.sln┃ 📄 Program.cs┗ 📄 README.md
要安装依赖项,请运行
dotnet build
没有安装 .NET? 在此处查找您的下载链接。我们在这门课程中使用 .NET 8。
然后,检查项目是否可以成功运行
dotnet run
您应该看到
Odyssey.MusicMatcher ❯ dotnet runBuilding...info: Microsoft.Hosting.Lifetime[14]Now listening on: https://127.0.0.1:5059info: Microsoft.Hosting.Lifetime[0]Application started. Press Ctrl+C to shut down.info: Microsoft.Hosting.Lifetime[0]Hosting environment: Developmentinfo: Microsoft.Hosting.Lifetime[0]Content root path: /Users/your-path/Odyssey.MusicMatcher
项目将在 https://127.0.0.1:5059 上运行,默认情况下!
关键要点
- GraphQL 使您能够通过单个 查询 精确地检索数据,从而无需在客户端应用程序端导航多个 REST 端点。
- Hot Chocolate 是一个面向 .NET 开发人员的 GraphQL 服务器 框架。
接下来
让我们深入了解所有与 GraphQL 相关的内容。在下一课中,我们将详细了解 GraphQL 如何融入我们现有的体系结构,以及构成 GraphQL 服务器 的确切内容。
分享您关于本课的问题和评论
本课程目前处于
您需要一个 GitHub 帐户才能在下面发布。没有? 请改为在我们的奥德赛论坛中发布。