GraphQL LogoGraphQL

開始使用 GraphQL.js

先決條件#

在開始之前,您應該安裝 Node v6,儘管範例大多數也適用於先前版本的 Node。對於本指南,我們不會使用任何需要轉譯的語言功能,但我們會使用一些 ES6 功能,例如 Promises類別胖箭頭函式,因此如果您不熟悉它們,您可能需要先閱讀它們。

若要建立新專案並在目前目錄中安裝 GraphQL.js

npm init
npm install graphql --save

撰寫程式碼#

若要處理 GraphQL 查詢,我們需要定義 Query 類型的架構,並且我們需要一個 API 根目錄,其中包含一個稱為「解析器」的函式,用於每個 API 端點。對於只傳回「Hello world!」的 API,我們可以將此程式碼放入名為 server.js 的檔案中

var { graphql, buildSchema } = require("graphql")
// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
type Query {
hello: String
}
`)
// The rootValue provides a resolver function for each API endpoint
var rootValue = {
hello: () => {
return "Hello world!"
},
}
// Run the GraphQL query '{ hello }' and print out the response
graphql({
schema,
source: "{ hello }",
rootValue,
}).then(response => {
console.log(response)
})

如果您使用以下指令執行此程式碼:

node server.js

您應該會看到印出的 GraphQL 回應

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

恭喜 - 您剛剛執行了一個 GraphQL 查詢

對於實際應用,您可能希望從 API 伺服器執行 GraphQL 查詢,而不是使用命令列工具執行 GraphQL。若要透過 HTTP 將 GraphQL 用於 API 伺服器,請查看 執行 Express GraphQL 伺服器

繼續閱讀 →執行 Express GraphQL 伺服器