如何解决如何获取所有graphql模式查询、变异、订阅
我正在使用带有 graphql 和 graphql-compose 的 nodejs 所以我将方案定义为
schemaComposer.Query.addFields({
Me: MyResolvers,Info: MyInfoResolvers,Post: PostResolvers
})
schemaComposer.Mutation.addFields({
Login: MyLoginResolvers,Register: RegisterResolvers
})
schemaComposer.Subscription.addFields({
Subscribe: Mysubscribe
})
所以任何获取所有查询、变异和订阅列表数组的函数 例如我需要打印到
[
{ operator: "Me",name: "Query" }
{ operator: "Info",name: "Query" }
{ operator: "Post",name: "Query" }
{ operator: "Login",name: "Mutation" }
{ operator: "Register",name: "Mutation" }
{ operator: "Subscribe",name: "Subscription" }
]
or Object is best
{
Query: ["Me","Info","Post"],Mutation: ["Login","Register"],Subscription: ["Subscribe"]
}
我可以使用 graphql 库中的 parse 函数解析请求中的查询以获取操作符和名称
import { parse } from "graphql"
const query:any = parse(context.req.body?.query)
const operator = query.definitions[0]?.operation
const name = query.definitions[0]?.selectionSet?.selections[0]?.name?.value
现在我需要在模式中列出所有定义的查询、变异、订阅?有可能吗?
谢谢
解决方法
您可以尝试保持自省。 [docs]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。