【发布时间】:2019-09-21 14:22:13
【问题描述】:
下面是我最简单的 graphQL 服务器和问题 - 我无法访问我在查询中传递的过滤器参数
const { ApolloServer, gql } = require('apollo-server')
const { makeExecutableSchema } = require('graphql-tools')
const { buildSchema } = require('graphql')
const books = [
{
title: 'Harry Potter and the Chamber of Secrets',
author: 'J.K. Rowling',
genre: 'Fantasy',
},
{
title: 'Jurassic Park',
author: 'Michael Crichton',
genre: 'General fiction',
},
]
const typeDefs = gql`
type Book {
title: String
author: String
genre: String,
}
type Query {
books(filter: String): [Book]
}
`
const resolvers = {
Query: {
books: (filter) => {
console.info('resolvers: ', { books, filter })
const { filter } = arg2
const booksFiltered = books.filter(item => item.genre === filter)
return booksFiltered
},
},
}
const schema = makeExecutableSchema({
typeDefs,
resolvers,
})
const server = new ApolloServer({ schema })
server.listen().then(({ url }) => {
console.log(`???? Server ready at ${url}`)
})
我的查询:
{
books(filter: "Fantasy") {
title,
author,
genre,
}
}
有什么问题?为什么我在 console.info 中有filter === undefined?
【问题讨论】:
标签: api graphql graphql-js