首页 > 解决方案 > 使用 GraphQl 返回无模式对象?

问题描述

我有一个人为的表“Json”,它将 json 存储为字符串。

id | data
----------------------------
1  | "{ 'foo': 'bar' }"
2  | "{ 'cat': 'dog' }" 

我希望能够从 json 形式的 graphql 查询中返回它(而不是在客户端进行转换)。如何在 graphQl 中标注杂项对象类型?

就像是:

query {
  json(id: 1) {
    data {
      #whatever data is has?
    }
  }
}

--would return--

{
  "data": {
    "foo": "bar"
  }
}

标签: graphql

解决方案


GraphQL 在这方面是强类型的,所以你不能这样做。您必须将 JSON 作为字符串返回(或其他适合您目的的已定义 GraphQL 类型,但您可能希望使用字符串)并在客户端上对其进行解析。GraphQL 查询/响应的每个部分都对应于模式,并且每个字段都有一个类型。


推荐阅读