【发布时间】:2020-05-21 23:01:35
【问题描述】:
我在一个已经投入生产一段时间的 appsync 环境中。这不是第一个突变,甚至不是在项目中采用一组对象的突变。然而,对其他此类案例有效的方法不适用于本案例。
我隐约记得,有时像对象数组甚至标量这样的“复杂”参数只有在转换为输入类型时才能通过解析。下面的 LeaderboardEventType 是一个枚举。
type LeaderboardEventScores {
event: LeaderboardEventType!
score: String!
}
type LeaderboardConfigScores {
id: ID!
scores: [LeaderboardEventScores]!
}
input LeaderboardConfigScoresInput {
id: ID!
scores: [LeaderboardEventScores]!
}
虽然上面的类型定义在解析器中有效,但输入定义与它不一样。我完全不明白为什么不。而且它们都不能定义我的突变的论点。也没有添加内部!为输入工作。也不只是在 ID 后使用逗号来获取输入的正文!作为突变参数。但真正有我的山羊是我无法定义这样的输入。为什么不呢?
【问题讨论】:
-
只有标量和枚举可以用于输入和输出。对象类型、接口和联合是严格的输出类型。输入对象是严格的输入类型。 They are not interchangeable。请参阅this post 了解更多详情。
标签: graphql aws-appsync