繁体   English   中英

有什么办法可以反驳graphql查询字段吗?

[英]Is there any way to get opposite of graphql query fields?

我想得到相反的GraphQL查询字段:

这意味着查询字符串不会对结果产生吸引力,而不在查询字符串内部不会对结果产生吸引力。

由于json记录器种类繁多,因此我无法手动编写相反的查询。 有什么办法可以自动编写相反的查询吗?

例如,我有JSON,例如:

{
  "data": {
    "source": "AWS",
    "hero": {
      "version": "my version",
      "name": "R2-D2",
      "friends": [
        {
          "attribute": "like something",
          "name": "Luke Skywalker"
        },
        {
          "name": "Han Solo"
        },
        {
          "name": "Leia Organa"
        }
      ]
    }
  }
}

我有疑问

{
  source,
  hero {
    name
    friends {
      attribute
    }
  }
}

我喜欢得到一个结果:

{
  "data": {
    "hero": {
      "version": "my version",
      "friends": [
        {
          "name": "Luke Skywalker"
        },
        {
          "name": "Han Solo"
        },
        {
          "name": "Leia Organa"
        }
      ]
    }
  }
}

不在查询中的查询字段将出现在结果中,而不在查询中的查询字段将不在结果中。 如何在JavaScript中执行这些操作? 你能举个例子吗?

如果要获取查询中未包含的内容,则仅获取包含在查询中的字段,然后为不在原始查询中的字段编写另一个查询。

简单地说,GraphQL是关于在对象上请求特定字段的。

https://graphql.org/learn/queries/

查询:

{
  hero {
    version
    friends {
      name
    }
  }
}

结果:

{
  "data": {
    "hero": {
      "version": "my version",
      "friends": [
        {
          "name": "Luke Skywalker"
        },
        {
          "name": "Han Solo"
        },
        {
          "name": "Leia Organa"
        }
      ]
    }
  }
}

评论更新:

您的问题更多是关于如何动态生成GraphQL查询?

在这种情况下,您可以使用片段,但是您仍然必须编写多个查询。

片段使您可以构造字段集,然后将它们包含在需要的查询中。

https://graphql.org/learn/queries/#fragments

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM