该包是 Flutter 的自定义网络层,它利用流行的 Dio HTTP 客户端库来管理 API 请求。它提供了一个通用的响应模型,并支持可选的基于请求的缓存。缓存功能可减少不必要的网络流量,并在多次进行相同 API 请求时提高应用程序性能。
使用此包,您可以轻松管理应用程序的网络层,并开发更快、更高效的应用程序。
特点
- 通用响应模型
- 基于请求的缓存
- 可自定义的请求标头、查询参数和请求体,包括对 multipart 文件上传的支持。
入门
安装
将以下依赖项添加到您的 pubspec.yaml 文件中
dependencies:
busbus: ^0.1.0
用法
导入包
import 'package:busbus/busbus.dart';
创建一个新的网络管理器实例
...
INetworkManager manager = NetworkManager<SampleResponseModel>()
..initialize(
NetworkConfiguration('<base-url>'),
responseModel: SampleResponseModel(),
cacheStoreKey: 'boilerplate_cache',
entityKey: 'body', // optional - defaults to 'body' || 'data' || 'result'
);
...
发起请求
...
final response = await coreDio.send<SamplePostModel, SamplePostModel>(
'${NetworkPaths.getSamplePost}/1',
parserModel: const SamplePostModel(),
type: HttpTypes.get,
cachePolicy: CachePolicy.forceCache, // optional - defaults to CachePolicy.noCache
maxStale: const Duration(seconds: 10), // optional - defaults to 10 seconds if cachePolicy is CachePolicy.forceCache
) as SampleResponseModel;
switch (response.statusCode) {
case 1:
return response.data as SamplePostModel;
default:
return null;
}
...
许可证
本项目根据 MIT 许可证授权 – 详情请参见 LICENSE 文件