graphql - GQL 架构不返回嵌套对象
问题描述
下面是我从 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
,没有任何架构。
怎么办,请帮忙
解决方案
GraphQL 不是这样工作的。您必须提供可能返回的每个具体对象类型的完整定义。
其他一些 SO 答案提出了一些技巧,例如声明 ascalar JSON
然后将自由格式的数据序列化为 JSON 字符串并返回它,但这变得难以使用。(您不能直接查询字段内的data: String
字段,即使它恰好被编码为 JSON。)
当您描述问题时,您最好直接公开后端 REST API,而不是尝试将其包装在模糊的 GraphQL 外观中。
推荐阅读
- c# - 连接到 FTPS - 找不到请求的对象
- haskell - 如何为 Mu 递归类型编写 Show 实例
- jquery - 如何在遍历数组时添加 JSON 对象
- javascript - 如何识别大型数组中的重复项?
- javascript - 无法从开放天气 api 访问 JSON
- hybris - Hybris 店面中产品代码和名称的自动建议搜索关键字
- ionic3 - 离子离线应用同步
- java - Android 应用程序在模拟器上运行良好,但在真实设备上却不行
- javascript - 通过 onClick 选择语言
- javascript - React Native - setState 在传递数据时未定义