dart - 在 aqueduct 和 flutter 之间共享对象

标签 dart flutter aqueduct

我将 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/

相关文章:

dart - Aqueduct/Dart 新项目命令在 Windows 7 上失败

google-maps - Flutter:带有图像叠加的 map

dart - Flutter "flutter_webview_plugin"安卓返回键问题

flutter - 如何通过 flutter 在屏幕上的某处点击来隐藏覆盖

dart - 创建于更新于 Aqueduct

rest - 如何使用 Aqueduct 创建到 MySQL 的持久存储?

functional-programming - Dart 中的产量示例

Flutter 导航到其他页面中的特定选项卡

dart - 如何扩展 ListView 中的列以覆盖抽屉导航中屏幕的所有剩余空间

Flutter 重建父部件