id: 91eea4d1
この記事のリポジトリ
前回
今回やること
- resolver で使用するためのcontextを用いて、prisma と接続
- クエリをなげて、prismaと接続できていることを確認
resolver で使用するためのcontextを用いて、prisma と接続
- contextの型定義
index.ts
interface Context {
dbsource: {
prisma: PrismaClient;
}
}
- contextにdbsourceを追加
index.ts
const { url } = await startStandaloneServer(server, {
listen: { port: 4000 },
context: async () => ({
dbsource: {
prisma: prisma
}
})
});
console.log(`🚀 Server ready at: ${url}`);
}
- context を用いてprismaにクエリをなげることができるようにresolver を 修正
index.ts
const resolvers: Resolvers = {
Query: {
books: async (parent, args, context: Context) => await context.dbsource.prisma.book.findMany(),
},
Mutation: {
addBook: async (parent, args, context: Context) => {
await prisma.book.create({
data: {
title: args.title,
author: args.author
}
});
return await context.dbsource.prisma.book.findMany()
}
}
};
クエリをなげて、prismaと接続できていることを確認
bash
$ yarn start
次回以降
- next.js でgraphql サーバーにクエリをなげる
- sqlite -> mysql に変更。dokcer 使用する。
- nestjsを用いたgraphqlの導入