You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Amplify调用ModelQuery.list返回FieldUndefined验证错误如何解决?

报错原因

该报错核心是你后端部署的AppSync GraphQL API中,Query类型下没有生成listNoteDatas字段,和本地代码调用的字段不匹配。get方法能正常执行说明单条查询的字段已生成,仅列表查询字段缺失。

解决步骤

  • 检查后端GraphQL Schema配置
    打开Amplify项目下的amplify/backend/api/<你的API名称>/schema.graphql文件,确认NoteData模型的定义是否正确添加了@model注解,且未手动关闭list查询:
# 正确配置示例,@model注解默认会自动生成get、list、create、update、delete全套查询/操作字段
type NoteData @model {
  id: ID!
  name: String!
  # 其他你自定义的字段
}

如果你之前为了限制定义了queries参数,比如写成@model(queries: { get: "getNoteData" }),就会仅生成单条查询字段,不会生成列表查询字段。可以直接删除自定义的queries配置,或者手动补充list字段定义:@model(queries: { get: "getNoteData", list: "listNoteDatas" })

  • 推送后端配置更新
    修改完schema后,在项目根目录执行命令amplify push,等待后端部署完成,确保新的schema已经生效到云端AppSync服务。
  • 同步本地模型配置
    后端部署完成后,执行amplify pull把最新配置同步到本地Android项目,同步完成后重新构建整个项目,确保本地生成的NoteData模型类和后端配置完全一致。
  • 验证查询接口
    重新运行App测试列表查询,此时ModelQuery.list(NoteData::class.java)即可正常返回数据。

内容的提问来源于stack exchange,提问作者devkim2009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:39:00