現在GraphQLとTypeScriptの環境を構築し、Playground画面を表示するところまでできました。
また、下記のようなサイトを参考に、簡単なクエリを投げられるところまでいっています。
https://qiita.com/SiragumoHuin/items/cc58f456bc43a1be41b4
ただ、少し複雑なスキーマ定義になったときに、resolverの書き方がわからず困っております。
調べてもあまり情報がありません。
スキーマ定義は以下のようなものになります。
・schema.graphql
schema
1type Shop { 2 shopName: String! 3 address: String! 4} 5 6type Query { 7 """ 8 ショップ検索 9 """ 10 shop( 11 shopName: String! 12 address: String! 13 ): Shop 14}
イメージとしてはお店の名前や住所を検索し、ヒットしたものを表示させたいです。
ちなみにresolverは今のところ下記のような感じで記載しています。
この書き方だとうまくいきません。
resolver
1let shops = [ 2 { 3 shopName: 'hoge', 4 address: 'tokyo' 5 }, 6 { 7 shopName: 'hoge2', 8 address: 'osaka' 9 }, 10]; 11const resolvers = { 12 Query: { 13 shop: () => shops, 14 }, 15}; 16 17 18const typeDefs = importSchema('./schema.graphql'); 19 20const server = new ApolloServer({ 21 typeDefs: typeDefs, 22 resolvers, 23});
ご教示のほど、よろしくお願いいたします。
あなたの回答
tips
プレビュー