GraphQL ロゴGraphQL

基本的な型

ほとんどの場合、必要なのはGraphQLスキーマ言語を使用してAPIの型を指定することだけです。これは、buildSchema関数の引数として渡されます。

GraphQLスキーマ言語は、StringIntFloatBooleanIDのスカラー型をサポートしているので、これらをbuildSchemaに渡すスキーマで直接使用できます。

デフォルトでは、すべての型はnull許容です。つまり、スカラー型のいずれかとしてnullを返すことは有効です。型がnullを許容できないことを示すには、感嘆符を使用します。そのため、String!はnullを許容しない文字列です。

リスト型を使用するには、型を角括弧で囲みます。そのため、[Int]は整数のリストです。

これらの各型はJavaScriptに直接マップされるため、これらの型を返すAPIでは、プレーンなJavaScriptオブジェクトを返すだけで済みます。いくつかの基本的な型の使い方を示す例を次に示します。

var express = require("express")
var { createHandler } = require("graphql-http/lib/use/express")
var { buildSchema } = require("graphql")
// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
type Query {
quoteOfTheDay: String
random: Float!
rollThreeDice: [Int]
}
`)
// The root provides a resolver function for each API endpoint
var root = {
quoteOfTheDay: () => {
return Math.random() < 0.5 ? "Take it easy" : "Salvation lies within"
},
random: () => {
return Math.random()
},
rollThreeDice: () => {
return [1, 2, 3].map(_ => 1 + Math.floor(Math.random() * 6))
},
}
var app = express()
app.all(
"/graphql",
createHandler({
schema: schema,
rootValue: root,
})
)
app.listen(4000)
console.log("Running a GraphQL API server at localhost:4000/graphql")

node server.jsでこのコードを実行し、http://localhost:4000/graphqlにアクセスすると、これらのAPIを試すことができます。

これらの例では、さまざまな型を返すAPIの呼び出し方法を示しています。さまざまな型のデータをAPIに送信するには、GraphQL APIへの引数の渡し方についても学習する必要があります。

読み続ける →引数の渡し方