list_result.dart 867 B

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:json_annotation/json_annotation.dart';
  2. part 'list_result.g.dart';
  3. /// 通用分页数据结构
  4. @JsonSerializable(
  5. genericArgumentFactories: true,
  6. // fieldRename: FieldRename.snake,
  7. )
  8. class BaseListResult<T> {
  9. /// 总数
  10. @JsonKey(name: "count")
  11. int count;
  12. /// 前一页地址
  13. @JsonKey(name: "previous")
  14. String? previous;
  15. /// 下一页地址
  16. @JsonKey(name: "next")
  17. String? next;
  18. /// 返回数据列表
  19. @JsonKey(name: "results")
  20. List<T> results;
  21. BaseListResult(
  22. {required this.count, this.previous, this.next, required this.results});
  23. factory BaseListResult.fromJson(
  24. Map<String, dynamic> json, T Function(dynamic json) fromJsonT) =>
  25. _$BaseListResultFromJson(json, fromJsonT);
  26. Map<String, dynamic> toJson(Object? Function(T value) toJsonT) =>
  27. _$BaseListResultToJson(this, toJsonT);
  28. }