GraphQL 是一种用于 API 的查询语言和运行时环境,由 Facebook 推出。相比传统 RESTful API,GraphQL 更加灵活高效,旨在解决 API 多版本、冗余数据、多网络请求等问题。在前端开发中,使用 GraphQL 可以大幅提升开发效率和用户体验。本文将介绍如何使用 Express.js 实现 GraphQL API 接口。
步骤一:安装依赖
首先,我们需要安装必要的依赖,包括 express、graphql、express-graphql、cors,可以使用 npm 或 yarn 进行安装。
npm install express graphql express-graphql cors
步骤二:创建 Express 应用
接下来,我们需要创建一个 Express 应用。在项目根目录下,新建一个 index.js 文件,输入以下内容:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---- - ---------------- ----- --- - ---------- ---------------- ---------------- -- -- - -------------------- --- -------- ---
以上代码创建了一个 Express 应用,并在端口 4000 上启动了服务。同时,我们使用 cors 中间件来解决跨域问题。
步骤三:定义 GraphQL Schema
接下来,我们需要定义 GraphQL Schema,它描述了数据的结构和类型。我们使用 GraphQL 的 GraphQLSchema
类型来定义 Schema,需要传递两个参数:
query
:包含查询操作的类型定义;mutation
:包含修改和删除操作的类型定义。
在这个示例中,我们只定义一个查询操作 hello
,它返回一个字符串。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --------- - --- --------------------------- ----- -------- ------- -- -- -- ------ - ----- ---------------------- -------- -- -- - ------ ------ -------- -- -- --- --- ----- ------ - --- ----------------------- ------ ---------- ---
步骤四:集成 GraphQL 到 Express
接下来,我们将 GraphQL 集成到 Express 中。我们使用 express-graphql
中间件来处理客户端的 GraphQL 请求,传递了以下的参数:
schema
:我们定义的 GraphQL Schema;graphiql
:是否启用 GraphiQL,“GraphQL IDE”,用于在浏览器中浏览和测试 GraphQL API。
app.use( '/graphql', gqlHTTP({ schema, graphiql: true, }) );
步骤五:启动服务
最后,我们启动服务,并监听端口。
app.listen(4000, () => { console.log('GraphQL API 开启成功!'); });
完整代码
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - ------------------- ----- ------- - --------------------------- ----- ---- - ---------------- ----- --- - ---------- ---------------- ----- --------- - --- --------------------------- ----- -------- ------- -- -- -- ------ - ----- ---------------------- -------- -- -- - ------ ------ -------- -- -- --- --- ----- ------ - --- ----------------------- ------ ---------- --- -------- ----------- --------- ------- --------- ----- -- -- ---------------- -- -- - -------------------- --- -------- ---
总结
本文介绍了如何使用 Express.js 实现 GraphQL API 接口。使用 GraphQL 可以大幅提升开发效率和用户体验,我们在创建应用、定义 GraphQL Schema、集成 GraphQL 到 Express、启动服务等步骤中详细介绍了如何实现。希望这篇文章可以对你运用 GraphQL 技术有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6494143148841e989419cc8c