Mac*_*ich 6 json dart flutter clean-architecture json-serializable
我试图通过这个YouTube 教程遵循 Clean Architecture ,因此我在数据层中有一组模型对象来扩展实体对象。
由于我有很多模型,其中一些模型有很多字段,我希望使用json_serializable包来自动生成样板代码,这些代码是工厂以及与 Json 和 fromJson 转换器方法相关的样板代码。
但是运行时:
flutter pub run build_runner 构建
它失败:
[严重]由于类型原因,无法生成
fromJson代码。serversServer
我的数据架构如下,在数据层:
- HostModel extends Host(Entity)
- String name,
- List<ServerModel> servers,
- ServerModel extends Server(Entity)
- ... // many many fields
Run Code Online (Sandbox Code Playgroud)
然而,当且仅当所有实体类都用 注释时,@JsonSerializable(explicitToJson: true)我才设法使其工作。
这对我来说非常困扰,因为我了解到清洁架构通过层分离所有关注点并遵循 SOLID 原则。所以我认为实体不应该“意识到”原始模型。并且反序列化方法应该可以用任何其他方法(例如 XML)替代,这显然违反了这里的原则。
我该如何解决这个问题?谢谢您的帮助!