GraphQL
の学習用ソース。
graphql-yoga + Typescript
で作成。
yarn install
chapter-1
からchapter-5
まで順番に実行していくと理解が捗る。
各チャプター共通で、実行後はlocalhost:4000
からPlayground画面を開いて検証する。
yarn chapter-1
一番基本的な形。 下記のようなクエリを実行する。
query {
chapter {
no
name
version
original
postDate
}
}
yarn chapter-2
Chapter1
のクエリに加えて、パラメータを付けたサンプル。
ここではno:2
の場合のみ値を取得できるようにしている。
クエリは以下の通り。
query {
chapter(param:{no:2}) {
no
name
version
original
postDate
}
}
yarn chapter-3
Chapter1
のクエリを変形し、配列型のレスポンスを扱うサンプル。
クエリは以下の通り。
query {
chapters {
no
name
version
original
postDate
}
}
yarn chapter-4
Mutation
を定義し、値の生成や変更を行う場合のサンプル。
クエリ以外にQueryValiables
を指定する必要がある。
クエリ
mutation($param: UpdateParam!) {
update(param: $param) {
no
name
version
original
postDate
}
}
QueryValiables
{
"param": {
"no": 4,
"name": "Mutationを使って追加・更新を行う",
"version": "1.0.0",
"original": true,
"postDate": "2020-10-29T:12:00:00Z"
}
}
yarn chapter-5
Chapter4
の内容にValidation機能を加えたサンプル。
create()
を行う時にno
が4
以下だったら重複エラーを出すようにしている。
mutation($param: CreateParam!) {
create(param: $param) {
data {
no
name
version
original
postDate
}
statusCode
error {
code
value
}
}
}
QueryValiables(エラーが発生するパターン)
{
"param": {
"no": 4,
"name": "Validationを追加する",
"version": "1.0.0",
"original": true,
"postDate": "2020-10-29T:12:00:00Z"
}
}
QueryValiables(成功パターン)
{
"param": {
"no": 5,
"name": "Validationを追加する",
"version": "1.0.0",
"original": true,
"postDate": "2020-10-29T:12:00:00Z"
}
}