【问题标题】:Can I shorten graphql queries?我可以缩短 graphql 查询吗?
【发布时间】:2021-10-31 05:14:13
【问题描述】:

假设我有以下查询:

query a($f: Int) {
  a {
    b(f: $f) {
      c {
        d {
          e
        }
      }
    }
  }
}

我可以把它变小吗?有点像

query a($f: Int) {
  a.b(f: $f).c.d {
    e
  }
}

【问题讨论】:

    标签: graphql


    【解决方案1】:

    自 2016 年以来,this issue 已经讨论了这样的语法,但不太可能实现。 GraphQL 语言增加的复杂性可能不值得这些好处,因为这只适用于极少数用例。它并没有真正节省数据,也没有大量节省打字。你不需要任何空格(这就是为什么我说它并没有真正保存数据。它只保存最后一个右括号)。

    query a($f: Int){
      a{b(f: $f){c{d{
        e
      }}}}
    }
    

    【讨论】:

      【解决方案2】:

      首先,我认为这样一个简单的查询但真正深入的查询对于 GraphQL 来说是一个糟糕的设计选择,因为它需要大量请求才能获得最终结果。但是,GraphQL 并不限制操作的深度或复杂性。此外,嵌套查询的一个常见用例是递归查询,如comments。不过,还有更好的解决方案,例如使用指令和片段。

      但是,回到您的问题,没有真正的方法可以使这些查询更小。但是为了让你的论点保持小和可重用,你可以查看片段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-21
        • 1970-01-01
        • 1970-01-01
        • 2021-04-20
        • 2011-07-22
        • 2020-11-05
        • 1970-01-01
        相关资源
        最近更新 更多