1

我使用 aqueduct 作为服务器,我在其中定义了一个用户对象并将其扩展以使用 OAuth:

class ManagedUser extends ManagedObject<_User> implements _User, ManagedAuthResourceOwner<_User>

在完成 aqueduct 的工作后,我开始开发 Flutter 应用程序,并希望在 Flutter 中也使用 ManagedUser-object,这就是为什么我考虑将其放入一个单独的项目中的原因。

我现在面临的问题(在部署期间)如下:

ERROR:flutter/shell/common/shell.cc(184)] Dart Error: error: import of dart:mirrors with --enable-mirrors=false

正如我在这里读到的Dart Error: error: import of dart:mirrors with --enable-mirrors=false这是因为颤振似乎不支持渡槽的某些部分(不幸的是,我在共享项目中需要使用 ManagedObject)。

所以我有点卡在这里。我有哪些选择?我真的不喜欢在颤动方面再次映射所有对象。

4

1 回答 1

1

您将无法在同一个项目中结合 Aqueduct 和 Flutter - 它们具有不同的编译目标,并且都利用了这些目标。

一般的方法是使用aqueduct document从您的代码创建 OpenAPI 文档,然后使用 OpenAPI 代码生成器来构建您的客户端代码。这种方法优于在服务器和客户端之间共享代码。代码可以在浏览器和移动目标之间共享。避免使用一种表示对象的数据库、服务器和客户端定义的类型是一个好主意。客户端类型和数据库表映射最终会产生难以管理的差异。

于 2019-01-21T04:45:43.110 回答