gpt4 book ai didi

graphql - 将 GraphQL 速记符号转换为相应的对象?

转载 作者:行者123 更新时间:2023-12-02 11:02:41 25 4
gpt4 key购买 nike

我正在开发一个 GraphQL 服务器设置,它可以解析从字符串传递到其中的类型,并且我正在寻找一种将字符串转换为适当对象的解决方案。例如如果传入这里的字符串:

type User { id: String, name: String }

我的函数将返回运行此代码的等效项:

new graphql.GraphQLObjectType({
name: 'User',
fields: {
id: { type: graphql.GraphQLString },
name: { type: graphql.GraphQLString },
}
});

这里的关键是不可知论,所以我也可以传入接口(interface)和其他简写,并让它返回适当的对象。我已经使用 graphql_language.parse(str) 函数从 graphql/language 模块实现了抽象语法树,但我不确定从哪里开始在这里。

最佳答案

GitHub 上的引用 GraphQL-JS 实现已有一个函数 buildASTSchema,它采用解析的类型架构并创建一组 JavaScript 对象。因此,了解如何做到这一点的最佳方法是查阅 GitHub 上的源代码: https://github.com/graphql/graphql-js/blob/master/src/utilities/buildASTSchema.js

或者,也许您的工具可以使用该函数来构建。由于该存储库由核心 GraphQL 团队维护,因此您可以非常有信心它会随着规范的新增内容而保持最新。

根据评论进行编辑:如果您想要从类型语言字符串生成可执行的 GraphQL 模式/服务器,那么您可以使用 graphql- 中的 generateSchema 函数工具 包,如下所示:http://docs.apollostack.com/apollo-server/generate-schema.html

关于graphql - 将 GraphQL 速记符号转换为相应的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37487420/

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