从模式生成GraphQL GUI和从GUI生成模式

从模式生成GraphQL GUI和从GUI生成模式,graphql,graphql-js,express-graphql,Graphql,Graphql Js,Express Graphql,虽然使用GraphiQL效果很好,但我的老板要求我实现一个用户界面,用户可以通过诸如checkbox、map relationships之类的UI元素检查呈现给他们的元素,并获取数据,这样做将为用户生成GraphiQL输入,调用API并将结果返回给用户 所以,基本上这涉及到两代人。从GraphQL模式生成用户界面,并从用户的选择生成GraphQL输入查询 我搜索了一下,但找不到任何已经这样做的工具。我的服务器在节点中,我正在使用Express GraphQL。我使用将express模式转换为Gr

虽然使用GraphiQL效果很好,但我的老板要求我实现一个用户界面,用户可以通过诸如checkbox、map relationships之类的UI元素检查呈现给他们的元素,并获取数据,这样做将为用户生成GraphiQL输入,调用API并将结果返回给用户

所以,基本上这涉及到两代人。从GraphQL模式生成用户界面,并从用户的选择生成GraphQL输入查询

我搜索了一下,但找不到任何已经这样做的工具。我的服务器在节点中,我正在使用Express GraphQL。我使用将express模式转换为GraphQLSchema语言,并使用

我得到的对象是这样的(下面只给出了部分模式输出) `

`

我正在通过元素循环尝试生成UI,但我被卡住了


最好的方法是什么?提前感谢。

对于从内省查询生成ui的部分,我认为响应包含足够的数据,足以生成足够的ui(每个字段的描述可以用作每个字段输入框的占位符)。如果您想知道如何从内省响应生成动态表单,您可以看看其他项目,这些项目创建了从json到html表单的转换程序,以供灵感/使用(请看)。对于复杂字段(而不是基本类型),您可能需要做更多的工作

对于从ui生成的模式,您可以使用任何查询生成器工具,并根据用户输入生成查询。每个组合框将映射到一个特定的SCHEMANAME.FIELDNAME,该值将是输入框的值

我希望这有点帮助。顺便说一句,这听起来像一个有趣的工具,所以让我们知道如果你成功了

"data": {
        "__schema": {
            "queryType": {
                "name": "Query"
            },
            "mutationType": {
                "name": "Mutation"
            },
            "subscriptionType": null,
            "types": [{
                "kind": "OBJECT",
                "name": "Query",
                "description": null,
                "fields": [{
                    "name": "employee",
                    "description": null,
                    "args": [{
                        "name": "ecode",
                        "description": null,
                        "type": {
                            "kind": "SCALAR",
                            "name": "String",
                            "ofType": null
                        },
                        "defaultValue": null
                    }],