我在使用serverpod的序列化过程时遇到了问题。如果你想看一下,这里是回购:https://github.com/fhir-fli/fhirpod。我所有的类都被冻结了,我已经调整了所有的fromJson以包括serializationManagers。没有错误。当我尝试生成代码时,如果我从pubspec和所有部分'file.g. dart'中删除json_serializable;代码,然后生成罚款。但是,它不会生成所需的toJson()文件。
然而,当我确实包含json_serializable来生成toJson()方法时,我得到了以下错误消息:
[SEVERE] json_serializable on lib/r4/resource_types/financial/general/general.dart:
Expecting a `fromJson` constructor with exactly one positional parameter. The only extra parameters allowed are functions of the form `T Function(Object?) fromJsonT` where `T` is a type parameter of the target type.
package:fhir/r4/special_types/special_types.dart:483:16
使用serverpod_serialization:1.1.0。
只是希望其他人也有类似的经历,并找到了解决办法。
1条答案
按热度按时间vlf7wbxs1#
这只是一个部分的答案(和一种黑客),所以任何人都请随时补充。确保在
pubspec.yaml
文件中有serverpod_serialization
,并将其导入到要序列化的任何文件中。运行
flutter pub run build_runner watch --delete-conflicting-outputs
。同样,这只是部分答案,因为在修复后您无法运行此命令。然后,搜索并替换所有要为serverpod生成的文件。我做了一些类似的事情,搜索:并将其改为:
此时,在服务器目录中导入此包。然后,在
server/config/generate.yaml
文件中,确保在extraClasses下添加任何类:您现在可以运行
serverpod generate
,它将生成服务器端代码,但仅作为SerializedEntity,而不是TableRow。