美文网首页
GraphQL入门之使用ApolloServer构建GraphQ

GraphQL入门之使用ApolloServer构建GraphQ

作者: kongxx | 来源:发表于2024-03-12 09:00 被阅读0次

    接上一篇文章,上一篇通过 express 作为 GraphQL Server 介绍了一下 GraphQL,今天说一下如何使用 Apollo Server 作为 GraphQL服务器。

    创建 Node.js 的工程

    mkdir myapp
    cd myapp
    npm init (一路回车)
    

    安装依赖包

    npm install @apollo/server graphql
    

    定义 Schema

    const typeDefs = `
      type Query {
        hello: String
      }
    `;
    

    定义解析器

    const resolvers = {
      Query: {
        hello: () => 'Hello world!',
      },
    };
    

    创建ApolloServer

    使用上面定义的 schema 和 resolver 创建 ApolloServer

    const server = new ApolloServer({
      typeDefs,
      resolvers,
    });
    

    启动ApolloServer

    startStandaloneServer(server).then(function(data) {
      console.log(`🚀 Server ready at ${data.url}`);
    });
    

    服务完整代码

    在工程下创建 server.js,完整代码内容如下:

    const { ApolloServer } =  require('@apollo/server');
    const { startStandaloneServer } = require('@apollo/server/standalone');
    
    // The GraphQL schema
    const typeDefs = `
      type Query {
        hello: String
      }
    `;
    
    // A map of functions which return data for the schema.
    const resolvers = {
      Query: {
        hello: () => 'Hello world!',
      },
    };
    
    const server = new ApolloServer({
      typeDefs,
      resolvers,
    });
    
    startStandaloneServer(server).then(function(data) {
      console.log(`🚀 Server ready at ${data.url}`);
    });
    

    测试

    启动服务

    node server.js
    

    使用浏览器访问 http://localhost:4000/,可以看到 Apollo Server 的 IDE 的界面,输入

    query {
      hello
    }
    

    可以看到下面的查询结果

    {
      "data": {
        "hello": "Hello world!"
      }
    }
    

    相关文章

      网友评论

          本文标题:GraphQL入门之使用ApolloServer构建GraphQ

          本文链接:https://www.haomeiwen.com/subject/tduvzdtx.html