gpt4 book ai didi

graphql - 新 GraphQL buildSchema 的嵌套查询

转载 作者:行者123 更新时间:2023-12-03 16:45:17 25 4
gpt4 key购买 nike

如何为我的 制作解析器好友列表 使用新的 GraphQL Schema 语言? friendList 有一组人 _id。

我的新人使用 GraphQL Schema 语言输入:

const schema = buildSchema(`
type People {
_id: String
firstName: String
lastName: String
demo: String
friendList: [People]
}
type Query {
getPeople(_id: String): People
}
`);


我的老人用 GraphQLObjectType 打字:

const PeopleType = new GraphQLObjectType({
name: 'People',
fields: () => ({
_id: {
type: GraphQLString,
},
firstName: {
type: GraphQLString,
},
lastName: {
type: GraphQLString,
},
friendList: {
type: new GraphQLList(PeopleType),
// pass @friends parentValue
resolve: ({ friends }) {
return People.find({ _id: { $in: friends } }).then(res => res);
},
}),
});


我想实现这个查询:
{
people(_id: "ABC123") {
firstName
lastName
friendList {
firstName
lastName
}
}

最佳答案

我找不到用 graphql-js 做到这一点的方法,所以我从 Apollo 的人那里切换到了一个类似的实现,称为 graphql-tools。

http://dev.apollodata.com/tools/graphql-tools/generate-schema.html

他们有一个名为 makeExecutableSchema 的函数它采用用 GraphQL 模式语言编写的模式,并将其与(嵌套的)解析器函数相结合。这解决了这个问题,如果你的代码使用 GraphQL Schema 语言,那么集成起来实际上非常简单。

他们还有另一个不可知的工具来公开这个取代 express-graphql 的新模式,它的 GraphQL 服务器:

http://dev.apollodata.com/tools/graphql-server/index.html

查看文档,希望这能让您灵活地使用 GraphQL Schema 语言语法编写复杂的代码!

关于graphql - 新 GraphQL buildSchema 的嵌套查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39636435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com