我将 Aqueduct 用作服务器,在其中定义了用户对象并将其扩展为使用OAuth:
class ManagedUser extends ManagedObject<_User> implements _User, ManagedAuthResourceOwner<_User>
在 Aqueduct 上完成工作之后,我开始研究flutter应用程序,并希望在flutter中也使用ManagedUser对象,这就是为什么我考虑将其放入单独的项目中的原因。
我现在(在部署过程中)面临的问题如下:
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一样,这是因为 flutter 似乎不支持部分 Aqueduct (不幸的是,在我的共享项目中,这才需要使用ManagedObject)。
所以我有点卡在这里。我有什么选择?我真的不喜欢在 flutter 侧再次映射所有对象。
最佳答案
您将无法在同一项目中组合Aqueduct和Flutter-它们具有不同的编译目标,并且两者都利用了这些目标。
通用方法是使用aqueduct document
从您的代码创建OpenAPI文档,然后使用OpenAPI代码生成器构建客户端代码。这种方法比在服务器和客户端之间共享代码更可取。可以在浏览器和移动目标之间共享代码。最好避免使用一种表示对象的数据库,服务器和客户端定义的类型。客户端类型和数据库表映射最终将具有难以管理的差异。
关于dart - 在 Aqueduct 和 flutter 之间共享对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54281800/