提问者:小点点

给定基于GraphQL模式的打字稿类型,如何动态定义GraphQL查询字符串?


我有一个节点应用程序,我已经从GraphQL模式生成了打字稿类型。我的服务将在API请求中接收GraphQL对象和属性详细信息。该服务必须形成一个GraphQL查询字符串并在响应中返回。

例如,如果请求是“Object.属性=value”,则服务必须生成如下查询字符串:

对象(过滤器:{'属性':{'val':'value'}}){属性属性1属性2…}请注意,我需要动态生成查询,我不想硬编码查询字符串。

我使用Python的gql库做了同样的事情。它的dsl支持创建这样的字符串。
参考:PythonGQL:https://gql.readthedocs.io/en/stable/GQLDSL:https://gql.readthedocs.io/en/latest/advanced/dsl_module.html#compose-queries-dynamically

我现在需要在TypeScript中做同样的事情,但是我不能马上找到一个可以帮助我做到这一点的库。

我尝试在python中生成查询字符串。当我尝试使用typeScript时,我找不到一个可以立即帮助我做同样的事情的库,但是,我确实生成了TypeScript类型,但是我不确定如何使用这些类型或者它们如何帮助生成查询字符串。

我希望有一个示例库可以帮助我动态构建graph ql查询字符串。


共1个答案

匿名用户

“graph ql”库允许您使用代码定义不同的graph ql元素。我不确定它是否可以输出完整的查询,或者您必须对其进行进一步的修改,但至少用它的键、类型等定义查询主体是一个好的开始。

https://www.apollographql.com/blog/backend/schema-design/three-ways-to-represent-your-graphql-schema/#graphql-js-graphqlschema-object

https://graphql.org/graphql-js/type/