GraphQL 服务器构建(第2部分:Mutation 实现)
突变实施
上次
在本地构建GraphQL服务器(第1部分: 使用Apollo搭建GraphQL服务器)。
这次要做的事情
mutation typeスキーマの定義
リゾルバの定義
playgroundでテスト
突变类型模式的定义
const typeDefs = `#graphql
(略)
type Mutation {
addBook(title: String, author: String): Book
}
`;
解析器的定义
const resolvers = {
(略)
Mutation: {
addBook(parent, args: {title:string, author: string}){
const book = {
author: args.author,
title: args.title,
};
books.push(book)
return book;
}
}
};
在操场上进行测试
mutation addBookTest{
addBook(author: "test", title: "title") {
author,
title
}
}
{
"data": {
"addBook": {
"author": "test",
"title": "title"
}
}
}
- bookが追加されていることを確認
query ExampleQuery {
books {
author
title
}
}
{
"data": {
"books": [
{
"author": "Kate Chopin",
"title": "The Awakening"
},
{
"author": "Paul Auster",
"title": "City of Glass"
},
{
"author": "test",
"title": "title"
},
{
"author": "test",
"title": "title"
}
]
}
}
- okです。
我想做的事情
.graphqlファイルを利用したリファクタリング
graphql-codegenでTypeScriptの型定義を生成する
prismaとの連携
参考: APOLLO DOCS