GQL模式未返回嵌套对象

时间:2019-01-29 06:11:53

标签: graphql apollo-client

下面是我从Rest API得到的响应。

{
  'metadata': {
    'cache': '600',
  },
  "data": [{
    "name": "Content",
    "content": {
      "title": "Legal information",
      "paragraphs": [
        {
          "title": "Website terms of use1",
          "text": "Sample Text",
        }]
    }
  }]
}

我的GQL模式如下:

type Metadata {
  cache: String
}

type Content {
  metadata: Metadata
  data
}

我想要GQL,以便在data内部发送任何内容而没有任何模式给我。

如何完成,请帮助

1 个答案:

答案 0 :(得分:0)

GraphQL不能那样工作。您必须为可能返回的每种具体对象类型提供完整的定义。

其他一些SO答案提出了一些技巧,例如声明scalar JSON,然后将自由格式的数据序列化为JSON字符串并将其返回,但这变得很难使用。 (即使碰巧被编码为JSON,也无法直接查询data: String字段内的字段。)

在描述问题时,最好直接暴露后端REST API,而不是尝试将其包装在模糊的GraphQL外观中。