如何禁用Freezed来创建fromJson,只生成toJson

ovfsdjhp  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(145)

我在我的Flutter项目中使用Freezed包进行不可变状态管理。我有一个类VoucherRequestRM,我只想生成toJson方法,而不是fromJson方法。下面是我当前的代码:

@Freezed(fromJson: false)
class VoucherRequestRM with _$VoucherRequestRM {
  @JsonSerializable(fieldRename: FieldRename.snake, createFactory: false)
  factory VoucherRequestRM({
    required String voucher,
    required String userToken,
    required double price,
  }) = _VoucherRequestRM;

  factory VoucherRequestRM.fromJson(Map<String, dynamic> json) {
    throw UnimplementedError();
  }
}

字符串
正如你所看到的,我已经尝试通过抛出UnimplementedError来禁用fromJson方法。然而,我不确定这是否是最好的方法。有没有一种方法可以让Freezed只生成toJson方法,而完全跳过生成fromJson方法?
任何帮助将不胜感激。提前感谢!

hlswsv35

hlswsv351#

向字段添加注解

@JsonKey(includeFromJson: false, includeToJson: true)   
   required String voucher,

字符串
或供全班使用

@Freezed(toJson: false, fromJson: true)

相关问题