extractModel<R> method

R? extractModel<R>(
  1. R? fromJson(
    1. Map<String, dynamic> json
    )
)

从 Map 提取模型(类型安全,自动处理类型检查和异常) 适用于从 Map<String, dynamic> 转换为模型类

如果数据不是 Map 类型,自动返回 null 内部已处理异常,用户只需要提供 fromJson 函数

示例:

final user = response.extractModel<User>(User.fromJson);
final uploadResult = response.extractModel<FileUploadResult>(
  FileUploadResult.fromConfigJson,
);

Implementation

R? extractModel<R>(R? Function(Map<String, dynamic> json) fromJson) {
  return extract<R>((data) {
    // 自动类型检查:如果不是 Map,返回 null
    if (data is! Map<String, dynamic>) return null;
    // 调用 fromJson,异常已在 extract 内部处理
    return fromJson(data);
  });
}