Apollo サーバーを構築しています。Mongo と通信する単純なエンドポイントが 1 つあります。お知らせ集があります。
export const typeDefs = gql`
type Query {
announcements: [Announcement]
announcementsByAuthor(author: String!): [Announcement]
}
type Announcement {
_id: ID!
msg: String!
author: String!
title: String
}
`;
export const resolvers = {
Query: {
announcements: () => {
return new AnnouncementController().getAnnouncements();
},
announcementsByAuthor: (author: string) => {
console.log('RESOLVER: ', author);
return new AnnouncementController().getAnnouncementsByAuthor(author);
}
},
}
私のgraphiqlインターフェイスでは、アナウンスクエリは正しく機能します:
{
announcements {
msg
author
}
}
アナウンスByAuthorクエリは、変数から、またはクエリにハードコードされたときに、文字列引数を受け入れていないようです。
query($author: String!){
announcementsByAuthor(author: $author) {
msg
author
}
}
変数:
{
"author":"Nate"
}
リゾルバーからログアウトしましたが、author 変数に指定された値ではなく、空の文字列が渡されています。私はgraphqlが初めてで、誰かが単純な見落としであると確信していることを教えてくれることを願っています。