Graphiql 变量未传递到服务器

Graphiql variables not being passed to server

我正在构建一个 Apollo 服务器。我有一个与 Mongo 通信的简单端点。有公告合集

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
    }
}

announcementsByAuthor 查询似乎不接受来自变量或硬编码到查询中的字符串参数。

query($author: String!){
  announcementsByAuthor(author: $author) {
    msg
    author
  }
}

变量:

{
  "author":"Nate"
}

我已从解析器注销,并且传入了一个空字符串,而不是 author 变量的指定值。我是 graphql 的新手,我希望有人能启发我,我确信这是一个简单的疏忽。

试试这个:

announcementsByAuthor: (doc, {author}) => {