0

我按照这里的教程来熟悉 Aqueduct 和 Dart。第 1 部分中的代码运行良好,但一旦我从内存中的英雄列表转换为使用数据库,它就停止工作了。我确认数据库(Postgres)中有数据,并且后端成功连接并从数据库读取。但是,出现无法序列化 ManagedObject 的错误。本教程中没有提到任何关于序列化的细节。我试图尝试将@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 的类默认/自动可序列化。这个假设不正确吗?Aqueduct 网站上有一个开箱即用的教程似乎很奇怪。

4

1 回答 1

0

我错过了数据库查询中的 await 关键字,这解释了为什么 API 调用返回的是 Future> 而不是实际的 List。嗬!

于 2020-01-30T21:21:34.990 回答