如何使用Apollo GraphQL进行数据查询和管理

柠檬味的夏天 2020-07-13 ⋅ 15 阅读

GraphQL是一种用于API设计的查询语言,而Apollo GraphQL则是一个广泛使用的GraphQL开发工具。它提供了许多有用的功能,帮助我们轻松地进行数据查询和管理。在本文中,我们将学习如何使用Apollo GraphQL来构建和管理我们的数据查询。

安装Apollo GraphQL

首先,我们需要安装Apollo GraphQL。可以通过npm包管理器来安装它,打开终端并执行以下命令:

npm install apollo-server

安装完成后,我们可以创建一个新的GraphQL服务器。

创建GraphQL服务器

要创建一个GraphQL服务器,我们需要做以下几个步骤:

  1. 在项目的根目录中创建一个名为index.js的文件。
  2. 打开index.js并导入所需的库。
const { ApolloServer, gql } = require('apollo-server');
  1. 定义我们的数据结构,即GraphQL模式。
const typeDefs = gql`
  type Query {
    hello: String
  }
`;

这个示例定义了一个带有一个字段的查询类型 Query,该字段名为 hello,类型为 String

  1. 创建一个解析器来处理我们的查询。
const resolvers = {
  Query: {
    hello: () => 'Hello world!',
  },
};

我们的解析器将解析 hello 查询,然后返回字符串 Hello world!

  1. 创建一个Apollo服务器并将模式和解析器传递给它。
const server = new ApolloServer({ typeDefs, resolvers });
  1. 启动服务器并监听一个端口。
server.listen().then(({ url }) => {
  console.log(`Server ready at ${url}`);
});

现在我们已经创建了一个GraphQL服务器。

运行GraphQL查询

要运行GraphQL查询,我们可以使用任何支持GraphQL的客户端工具,如GraphiQLApollo Client.

以下是一个使用GraphiQL的示例:

  1. 在项目的根目录中创建一个名为graphql的文件夹。
  2. 在该文件夹中创建一个名为playground.html的文件。
  3. 打开playground.html并添加以下内容:
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://unpkg.com/graphql-playground-react@^1.7.21/playground/static/css/index.css" />
    <link rel="shortcut icon" href="https://cdn.jsdelivr.net/npm/graphql-playground-react@^1.7.21/playground/static/favicon.png" />
    <script src="https://unpkg.com/graphql-playground-react@^1.7.21/playground/static/js/middleware.js"></script>
  </head>
  <body>
    <script>
      GraphQLPlayground.init(document.body, {
        endpoint: "/graphql"
      })
    </script>
  </body>
</html>

这将创建一个具有GraphQL查询编辑器的Playground界面。

  1. 打开终端并执行以下命令启动一个静态文件服务器:
npx http-server graphql
  1. 在浏览器中访问http://localhost:8080/playground.html。你应该看到一个带有GraphQL查询编辑器的界面。

  2. 在查询编辑器中输入以下查询:

query {
  hello
}
  1. 点击运行按钮。你应该在结果面板中看到服务器返回的结果Hello world!

恭喜,你已经成功使用Apollo GraphQL进行了一个简单的数据查询!

结论

Apollo GraphQL是一个功能强大的工具,可以帮助我们轻松地构建和管理GraphQL API。在本文中,我们学习了如何安装Apollo GraphQL,创建一个GraphQL服务器,并使用GraphiQL进行数据查询。希望这篇文章对你入门Apollo GraphQL有所帮助!


全部评论: 0

    我有话说: