是否存在用于在客户端动态创建graphql查询的软件包/方法?例如,假设我们有以下查询
query {
foo {
a
b
c {
d {
e
f
}
g
}
}
我想允许用户选择/选择从该查询返回的数据字段。换句话说,如果他们不希望返回字段,那么我将在查询中将其省略。 *这是因为某些字段包含大量数据,如果可以避免,最好避免带宽问题。
我是否必须手动构建查询(ugh),还是有人在这种情况下使用的javascript工具?
我看到了这一点,但是它似乎已不再维护,并且在“问题”标签中指出了一些问题:https://github.com/codemeasandwich/graphql-query-builder
答案 0 :(得分:1)
您可能必须自己构建查询(毕竟,它只是一个字符串),在这种情况下,使用Builder模式可能会有所帮助,因为似乎您有一组复杂的参数来确定应包含在其中的内容查询。
您看过这些答案吗?这些满足您的需求吗?
GraphQL dynamic query building
React Apollo dynamically create query from state(如果您使用的是React / Apollo)
要记住的一件事是,通过使用动态而不是静态的客户端查询,您会失去一些缓存和安全优势。
我还建议提醒您的用户,选择某些字段会产生昂贵的查询;至少要对这些数据进行分页,以使您不会一次返回如此大量的数据。