gpt4 book ai didi

graphql - 从 Schema 生成 GraphQL GUI 和从 GUI 生成 Schema

转载 作者:行者123 更新时间:2023-12-02 10:48:27 32 4
gpt4 key购买 nike

虽然使用 GraphiQL 效果很好,但我的老板要求我实现一个用户界面,用户可以在其中通过 UI 元素(例如复选框、映射关系)检查呈现给他们的元素并获取数据,这样做将为该人生成 graphql 输入,调用API并将结果返回给用户。

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

我进行了搜索,但找不到任何已经可以执行此操作的工具。我的服务器位于 Node 中,我使用的是 Express GraphQL。我使用 https://github.com/graphql-cli/graphql-cli 将我的快速模式转换为 GraphQLSchema 语言我使用 https://github.com/sheerun/graphqlviz/blob/master/cli.js 处的内省(introspection)函数内省(introspection)了 GraphQLSchema 语言

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

"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
}],

`

我正在循环尝试生成 UI 的元素,但我陷入了困境。

执行此操作的最佳方法是什么?提前致谢。

最佳答案

对于从内省(introspection)查询生成 ui 的部分,我认为响应包含足够的数据来提供足够的 ui(每个字段的描述可以用作每个字段的输入框的占位符)。如果您问如何从内省(introspection)响应生成动态表单,您可以查看其他项目,这些项目创建了从 json 到 html 表单的转换器以获取灵感/使用(请查看 https://github.com/brutusin/json-forms/blob/master/README.md#cdn )。对于复杂字段(不是原始类型),您可能需要做更多的工作。

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

希望对你有一点帮助。顺便说一句,这听起来是一个有趣的工具,所以如果您成功了,请告诉我们!

关于graphql - 从 Schema 生成 GraphQL GUI 和从 GUI 生成 Schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48656816/

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