Yve*_* M. 6 amazon-web-services graphql aws-appsync
AWS AppSync允许在这样的架构中定义默认值
type Foo {
bar(
arg: Int = 20
): Bar!
}
Run Code Online (Sandbox Code Playgroud)
或者那个
type Foo {
bar(
arg: Int! = 20
): Bar!
}
Run Code Online (Sandbox Code Playgroud)
但是,无论哪种方式,当未明确定义该值时,默认值都不会传递给解析器。
我应该选择启用激活要传递的默认值吗?那是一个AWS错误吗?如果是这样,是否有解决方法?
PS:在GraphQL规格中
如果没有为已定义的输入对象字段提供任何值,并且该字段定义提供了默认值,则应使用默认值。如果未提供默认值,并且输入对象字段的类型为非null,则应引发错误。否则,如果不需要该字段,则不会将任何条目添加到强制无序映射中。
默认参数目前是一个已知问题,解决它们的最佳方法是使用$util.defaultIfNull()速度辅助函数。例如,你可以为 limit 和 next token 做这样的事情的默认参数:
{
"version": "2017-02-28",
"operation": "Scan",
"limit": $util.defaultIfNull($ctx.args.first, 20),
"nextToken": $util.toJson($util.defaultIfNullOrEmpty($ctx.args.after, null)),
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |