⚡ RESTful ExpressにGraphSQLサーバーを追加します.2分でのJS API


⚡ RESTful ExpressにGraphSQLサーバーを追加します。2分でのJS API


あなたは、マイクロウェーブポップコーンのように、テキストメッセージを送信し、カップケーキを食べて、GraphSQLサーバーをフックの2分で行うことができます.
うん.あなたが古い急行を持っているならば.JS RESTful APIが横たわっているか、またはGraphqlをインクリメンタルに採用することに興味を持っている、我々は新鮮な新しいGraphSQLサーバーとそれをフックするには2分が必要です.
レディ?セット.行け!
あなたのサーバーが以下のように見えたと言いましょう.
import express from 'express';
import { apiRouter } from './router';

const app = express();
const port = process.env.PORT || 5000;

// Existing routes for our Express.js app
app.use('/api/v1', apiRouter);

app.listen(port, () => console.log(`[App]: Listening on port ${port}`))
プロジェクトのルートで.npm install apollo-server-express 依存関係として.
npm install apollo-server-express --save
どこにあなたのエクスプレスアプリが定義され、インポートに移動ApolloServer and gql からapollo-server-express .
import { ApolloServer, gql } from 'apollo-server-express'
次に、ApolloServer 最も簡単な可能なGraphSQL型定義とリゾルバで.
const server = new ApolloServer({
  typeDefs: gql`
    type Query {
      hello: String
    }
  `,
  resolvers: {
    Query: {
      hello: () => 'Hello world!',
    },
  }
})
最後に、使用ApolloServer 's applyMiddleware 我々の急行を通過する方法.jsサーバー.
server.applyMiddleware({ app })
ブーム.それだ!
コードはこのようになります.
import express from 'express';
import { v1Router } from './api/v1';
import { ApolloServer, gql } from 'apollo-server-express'

const app = express();
const port = process.env.PORT || 5000;

const server = new ApolloServer({
  typeDefs: gql`
    type Query {
      hello: String
    }
  `,
  resolvers: {
    Query: {
      hello: () => 'Hello world!',
    },
  }
})

server.applyMiddleware({ app })

app.use('/api/v1', v1Router);

app.listen(port, () => {
  console.log(`[App]: Listening on port ${port}`)
})
あなたがlocalhost:5000/graphql , GraphSQLの遊び場であなたのgraphqlスキーマを見ることができます.

Note: If you want to change the URL that the GraphQL endpoint sits at from /graphql to something else, you can pass in a path option to server.applyMiddleware() with the URL you want, like path: '/specialUrl'. Check out the docs for full API usage.


どのように簡単だった?あなたのポップコーンは終わりましたか.😉

概要


我々がしたことは、ここにあります.
  • インストールapollo-server-express
  • クリエイトアnew ApolloServer
  • GraphSQLサーバーを接続しますserver.applyMiddleware
  • 私は個人的に本当にアポロサーバが非侵入的であり、サービスとアプリケーションの間で通信する別の方法として任意のプロジェクトで追跡することができるという事実が大好きです.

    ここからどこへ行くか


    あなたはアポロとGraphel、素晴らしい方法を学ぶには、実際に実際の生活の中で何かを構築することです.そのため、私は非常にチェックアウトをお勧めしますApollo Fullstack Tutorial (you can also learn in TypeScript now 🔥) .

    I'm , a Developer Advocate at Apollo GraphQL. I teach advanced TypeScript, GraphQL, and Node.js best practices for large-scale applications. Feel free to ping me on if you need help with anything Apollo, TypeScript, or architecture-related. Cheers 🤠