graphql - GraphQL 没有对象类型?
问题描述
我已经阅读了所有内容,没有理解任何解决方案和具体解释(即使在这里:Apollo / GraphQl - Type must be Input type)
我想创建一个包含太阳的对象系统。所以我这样做:
type System {
_id: ID
name: String! @unique
diameter: Int
suns: [Sun]
}
type Sun {
_id: ID
name: String
diameter: Int
}
type Mutation {
createSystem(name: String!, diameter: Int, suns: [Sun]): System!
}
我在操场上写道:
mutation {
createSystem(name:"new system", suns: [{ name: "John" }]) {
name
suns
}
}
但是我收到了一个终端错误:“错误:Mutation.createSystem(suns:) 的类型必须是输入类型,但得到了:[Sun]。”
我知道 Sun 不是作为对象接收的。如何将其声明为对象?
非常感谢您的回答
解决方案
GraphQL 规范。不允许使用type
(即输出类型)作为输入参数。它只允许输入参数为enum
,Scalar
和Input
. 这意味着您必须创建一个SunInput
input SunInput {
_id: ID
name: String
diameter: Int
}
推荐阅读
- angular - 如何以角度获取输入类型=月份的值
- scrollview - 如何在 SwiftUI 中禁用 ScrollView 弹跳
- r - 根据名称有条件地乘以值
- javascript - 单击下一张图像时渲染下一张图像?
- javascript - 如何在数组中存储多个经纬度并在航路点中访问它们以在它们之间创建路线?
- php - SilverStripe 3.7:如何在没有空格的情况下呈现模板语法或 PHP 输出?
- python - 设备类型为 cuda 的预期对象,但在 Pytorch 中获得了设备类型 cpu
- docker - 码头工人:移除容器需要太长时间
- amazon-web-services - 配置文件中的“Fn::Join”指的是什么?
- compiler-errors - 不要忽略 Lex 和 YACC 中的注释