【问题标题】:Grouping fields in Hasura在 Hasura 中对字段进行分组
【发布时间】:2022-01-24 02:44:58
【问题描述】:

我是 GraphQL 的新手。我有一个看起来像这样的查询

query X {
    x
    y
    z
    a
    b
    p
    q

我希望回复是这样的:

m: {
   x
   y
   z
},
n: {
   a
   b
},
o: {
   p
   q
}

我怎样才能做到这一点?

【问题讨论】:

  • 你不能那样做。您可以在响应结构中更改的唯一内容是字段名称。重命名字段有一个实际用途:它允许您使用不同的参数查询相同的字段两次。除此之外,GraphQL 并不关心响应的重构。在客户端进行 3 次不同的查询或重塑响应。

标签: graphql hasura


【解决方案1】:

是的,如果您编辑架构以将 X 查询的返回类型设置为 Object Type

type Query {
  X: XResponse
}

type XResponse {
  m: M
  n: N
  o: O
}

type M {
  x: String!
  y: String
  z: Boolean
}

type N {
  a: [Float]
  b: String
}

type O {
  p: Int
  q: AnotherObjectType
}

这是 GraphQL 的一大优势:您的架构类型 match your business domain

如果您无法修改架构的查询定义,则不可以,正如@Herku 的评论所解释的那样。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 2015-02-18
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多