使用 aws-amplify API 执行 graphql 更新突变

我想使用 aws-amplify api 更新数据对象。我读过如果我们使用数据存储,我们需要将对象的当前 _version 传递到突变中,否则突变不会覆盖现有字段。见https://github.com/aws-amplify/amplify-android/discussions/289

那么,我想知道客户端获取最新版本号的推荐方法是什么?我的第一直觉是先运行一个 get 查询来获取 _version 参数。有没有更好的办法?每次我们想覆盖数据时,先执行 fetch 查询,然后再执行一次更改,这似乎很愚蠢。

如果没有更好的方法,建议先运行fetch来获取对象的_version,那么为什么我的fetch会报错:"Cannot return null for non-nullable type: 'Int' within parent '<query name> ' (/<query name>/_version)"

顺便说一句,因为我遇到了这个错误,我连续运行了两次更新突变作为解决方法,从第一次更新突变的响应中提取版本号(正如预期的那样不会覆盖数据),并使用这个版本第二次更新突变中的数字(然后成功覆盖数据)。这似乎是不好的做法,当然不推荐。

iCMS 回答:使用 aws-amplify API 执行 graphql 更新突变

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/129542.html

大家都在问