Server:
用 Apollo Server library 來建立 GraphQL server。
新增 GraphQL-server 目錄,安裝 apollo-server 和 graphql。
npm init -y
npm install apollo-server graphql
新增 GraphQL-server/server.js,來定義我們的 GraphQL schema,這 schema 將描述我們的 API 可以提供甚麼服務:
定義 schema
// Schema definition
const { gql } = require('apollo-server');
const typeDefs = gql` // 以下使用 GraphQL Schema Definition Language
type Query { // 定義一個名為 Query 的 type
greeting: String // 定義屬於這個 type 的欄位(fields)
}
`;
console.log(typeDefs);
執行 node server.js,到 console 看這個 object 的內容。可以看到 typeDefs 是一個 JavaScript object。
接下來,完成定義在 schema 的功能:client 可以呼叫(call) server 然後獲得 greeting。
const { ApolloServer, gql } = require('apollo-server');
const typeDefs = gql`
type Query {
greeting: String
}
`;
const resolvers = {
Query: {
greeting: () => 'Hello world!'
}
}