extractModel<R> method
从 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);
});
}