GraphQL 是一种用于 API 的查询语言和运行时环境,可以用于构建高效、强类型和易于维护的 API。Hapi 是一个用于构建 Node.js 应用程序的框架,它提供了可扩展性和插件化的架构,使得构建复杂应用程序变得更加容易。在本文中,我们将探讨如何使用 Hapi 框架进行 GraphQL API 的开发。
安装 Hapi 和相关插件
首先,我们需要安装 Hapi 框架以及相关插件。可以使用 npm 命令来安装:
npm install hapi @hapi/hapi @hapi/hapi-graphql graphql
上述命令将安装 Hapi 框架、Hapi GraphQL 插件以及 GraphQL 库。接下来,我们需要在应用程序中引入这些库。
const Hapi = require('@hapi/hapi'); const { graphqlHapi } = require('@hapi/hapi-graphql'); const { buildSchema } = require('graphql');
定义 GraphQL Schema
GraphQL Schema 定义了 API 的类型、查询和变更。我们需要使用 GraphQL Schema 来定义我们的 API,然后使用 Hapi GraphQL 插件将其添加到 Hapi 应用程序中。
下面是一个简单的 GraphQL Schema 示例:
const schema = buildSchema(` type Query { hello: String } `);
上述代码定义了一个名为 hello
的查询,它将返回一个字符串。
创建 Hapi 应用程序
接下来,我们需要创建 Hapi 应用程序并将 GraphQL 插件添加到应用程序中。
-- -------------------- ---- ------- ----- ------ - ------------- ----- ----- ----- ----------- --- ----------------- ------- ------------ -------- - ----- ----------- --------------- - ------- ------ -- ------ - ----- ---- - - ---
上述代码创建了一个 Hapi 应用程序并在 /graphql
路径上添加了 GraphQL 插件。graphqlOptions
选项指定了我们之前定义的 GraphQL Schema。
启动 Hapi 应用程序
最后,我们需要启动 Hapi 应用程序并监听端口:
-- -------------------- ---- ------- ----- -------- ------- - --- - ----- --------------- ------------------- ------- --- --------------------- - ----- ----- - ----------------- ---------------- - - --------
示例代码
下面是完整的示例代码:
-- -------------------- ---- ------- ----- ---- - ---------------------- ----- - ----------- - - ------------------------------ ----- - ----------- - - ------------------- ----- ------ - ------------- ---- ----- - ------ ------ - --- ----- ------ - ------------- ----- ----- ----- ----------- --- ----------------- ------- ------------ -------- - ----- ----------- --------------- - ------- ------ -- ------ - ----- ---- - - --- ----- -------- ------- - --- - ----- --------------- ------------------- ------- --- --------------------- - ----- ----- - ----------------- ---------------- - - --------
结论
在本文中,我们了解了如何使用 Hapi 框架进行 GraphQL API 的开发。我们首先安装了 Hapi 框架和相关插件,然后定义了 GraphQL Schema,并将其添加到 Hapi 应用程序中。最后,我们启动了 Hapi 应用程序并监听端口。这个简单的示例可以帮助你开始构建自己的 GraphQL API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675a897e4b9d41201ab81e55