【发布时间】:2019-06-13 08:55:22
【问题描述】:
我有一个 rest API,它返回一个对象,其中包含一个 id 列表,每个对象都有计数。
{
"orders": {
"PMY5XbR7FZo5qEkEb": 0
}
}
我不知道orders对象的key是什么,也不知道会有多少key。
This question's response 建议使用 JSON 类型,虽然有风险但可行。
问题在于这不适用于 graphQL 瑜伽服务器:
type Task {
orders: JSON
}
如何在瑜伽服务器中引用 JSON 类型?
【问题讨论】:
-
除了该问题的答案之外,我不推荐这种方法,但您需要声明
scalar JSON才能使其工作。更好的方法是将该对象映射到type Order { id: ID!, count: Int! }。 -
你能解释一下“你需要声明标量 JSON”是什么意思吗,对不起,我不明白这是什么意思。
-
将词
scalar JSON放在您的 GraphQL 架构的顶层某处。你需要 explicitly declare scalar types 虽然 GraphQL 本身并没有赋予它们任何特殊含义。 -
成功了。惊人的。非常感谢您。如果您将该回复重新发布为答案,我可以将其标记为已回答。我知道考虑到它的简单程度,它可能看起来微不足道,但这对我来说是一个巨大的帮助,而且很可能会帮助其他想要返回一个对象的人。返回一个动态对象似乎是一件很常见的事情,很惊讶没有更好的解决方案。
标签: server graphql graphql-js