Aqueduct and Dart: Future<List<T>> (T = ManagedObject) 无法序列化为 JSON



我正在按照这里的教程熟悉渡槽和飞镖。第 1 部分中的代码工作正常,但是一旦我从内存中的英雄列表转换为使用数据库,它就停止工作了。我确认数据库中有数据(Postgres(,后端已成功连接并从数据库读取。但是,存在无法序列化托管对象的错误。本教程中没有提到有关序列化的任何详细信息。我尝试尝试将@JsonSerializable添加到我的模型类中,但仍然遇到同样的问题。似乎不是模型对象本身,而是 API 返回 a:Future<List<Hero>>?错误是:

Converting object to an encodable object failed: Instance of 'Future<List<Hero>>' #0      _JsonStringifier.writeObject (dart:convert/json.dart:649:7)

本教程似乎建议扩展 ManagedObject 的类在默认情况下是可序列化的/自动的。这个假设不正确吗?似乎很奇怪,渡槽网站上会有一个开箱即用的教程。

我在数据库查询中缺少 await 关键字,该关键字解释了为什么 API 调用返回 Future>而不是实际的列表。咚!

最新更新