GraphQL 是一种用于 API 的查询语言,它使得客户端可以精确地请求需要的数据,而不需要获取整个数据集。这使得 GraphQL 成为一种非常灵活和可扩展的 API 实现方式。在本文中,我们将介绍如何使用 Express 和 Apollo-Server 来构建可扩展的 GraphQL API。
安装依赖
我们首先需要安装一些必要的依赖:
--- ------- ------- ------------- -------
创建 Express 应用
我们使用 Express 来创建一个 HTTP 服务器。在 app.js
文件中,我们可以这样初始化一个 Express 应用:
----- ------- - ------------------- ----- - ------------- --- - - --------------------------------- ----- --- - ----------
创建 GraphQL Schema
在 GraphQL 中,我们需要定义一个 Schema 来描述我们的数据结构和 API。我们可以使用 gql
函数来定义我们的 Schema。在本例中,我们创建一个简单的 Schema,用于查询和修改用户数据:
----- -------- - ---- ---- ---- - --- ---- ----- ------- ------ ------- - ---- ----- - ------ ------ -------- ------ ---- - ---- -------- - ---------------- -------- ------ --------- ---- -------------- ----- ----- -------- ------ --------- ---- -------------- ------ ---- - --
创建 Resolver
Schema 只是一种描述数据结构和 API 的方式,我们还需要实现 Resolver 来处理查询和修改请求。在本例中,我们创建一个简单的 Resolver,用于查询和修改用户数据:
----- ----- - - - --- -- ----- -------- ------ ------------------- -- - --- -- ----- ------ ------ ----------------- -- - --- -- ----- ---------- ------ --------------------- -- -- ----- --------- - - ------ - ------ -- -- ------ ----- --- - -- -- -- --------------- -- ------- --- ---- -- --------- - ----------- --- - ----- ----- -- -- - ----- ---- - - --- ------------ - -- ----- ----- -- ----------------- ------ ----- -- ----------- --- - --- ----- ----- -- -- - ----- ----- - -------------------- -- ------- --- ---- -- ------ --- --- - ----- --- ----------- ---- -- ----- --- --------- - ----- ---- - - --- ----- ----- -- ------------ - ----- ------ ----- -- ----------- --- - -- -- -- - ----- ----- - -------------------- -- ------- --- ---- -- ------ --- --- - ----- --- ----------- ---- -- ----- --- --------- - ----- ---- - ------------- ------------------- --- ------ ----- -- -- --
创建 Apollo-Server
现在我们可以使用 Apollo-Server 来将 Schema 和 Resolver 集成到我们的 Express 应用中。我们可以这样初始化一个 Apollo-Server:
----- ------ - --- -------------- --------- --------- --- ------------------------ --- ---
启动服务器
我们现在可以启动我们的服务器,监听来自客户端的请求:
---------------- -- -- - ------------------- --------- -- ---- ---------------------------- ---
查询和修改数据
现在我们可以使用任何 GraphQL 客户端来查询和修改我们的用户数据。例如,我们可以使用 GraphiQL 工具来查询和修改数据。我们可以在浏览器中访问 http://localhost:4000/graphql
来打开 GraphiQL 工具。
查询所有用户:
----- - ----- - -- ---- ----- - -
查询指定用户:
----- - -------- -- - -- ---- ----- - -
创建新用户:
-------- - ---------------- -------- ------ -------------------- - -- ---- ----- - -
更新用户:
-------- - -------------- -- ----- ------ ------- ------ -------------------------- - -- ---- ----- - -
删除用户:
-------- - -------------- -- - -- ---- ----- - -
总结
在本文中,我们介绍了如何使用 Express 和 Apollo-Server 来构建可扩展的 GraphQL API。我们创建了一个简单的 Schema 和 Resolver,用于查询和修改用户数据。我们还介绍了如何使用 GraphiQL 工具来查询和修改数据。这个例子只是一个简单的示例,你可以根据你的需求来定义更复杂的 Schema 和 Resolver。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66135a72d10417a2223c3778