AWS AppSync查询报错:非空类型ID返回null问题求助
问题原因与解决方案
核心错误原因
你的queryMasterBomWithin Query定义返回的是单个MasterBom对象,但Resolver响应模板返回的是$ctx.result.items——这是一个包含多条数据的数组。当AppSync尝试将数组解析为单个MasterBom对象时,数组本身没有id字段(id是数组内每个对象的属性),因此触发了非空字段id不能为null的校验错误。
修复步骤
- 修改Query返回类型,将单个对象改为数组类型:
type Query{ queryMasterBomWithin(status:String!,startDate:Float!,endDate:Float!): [MasterBom] } - 保持Resolver响应模板不变(
$util.toJson($ctx.result.items)本身就是返回数组,与修改后的返回类型匹配)。
调整后,AppSync就能正确解析查询到的多条MasterBom数据,不会再抛出字段为null的错误。
内容的提问来源于stack exchange,提问作者marendra
相关产品推荐
相关产品推荐

