Меня научили двум различным методам использования GraphQL,
первый метод включал построение схемы:
module.exports = buildSchema(`
type Event {
_id: ID!
title: String!
description: String!
price: Float!
date: String!
creator: User!
}
`)
затем создайте преобразователь в отдельном файле:
module.exports = {
events: async () => {
try {
const events = await Event.find();
return events
} catch (err) {
throw err;
}
}}
второй способ выглядит так:
const PostType = new GraphQLObjectType({
name: 'Post',
fields: () => ({
id: { type: GraphQLID },
title: { type: GraphQLString },
content: { type: GraphQLString },
score: { type: GraphQLInt }
})
});
const RootQuery = new GraphQLObjectType({
name: 'RootQuery',
fields: {
posts: {
type: new GraphQLList(PostType),
resolve(parent, args) {
return Post.find();
}
}
});
Я работал с обоими способами, и они оба работают, но я не совсем уверен, какие методы мне следует использовать, первый метод кажется более простым, но второй метод, похоже, обеспечивает соблюдение типов graphQL.
buildSchema
. Пожалуйста, просмотрите связанный обман для более подробной информации. - person Daniel Rearden   schedule 27.08.2019