SmartDio class

SmartDio 门面 API

提供简洁的静态方法和实例方法来发起 HTTP 请求。

基本用法:

// 初始化
SmartDio.init(SmartConfig(
  options: BaseOptions(baseUrl: 'https://api.example.com'),
  globalPlugins: [
    LoggerPlugin(),
    HeaderPlugin({'Authorization': () => getToken()}),
    RetryPlugin(retries: 3),
  ],
));

// 发起请求
final response = await SmartDio.get<User>('/user');

// 单次请求禁用缓存(热拔)
final response = await SmartDio.get('/realtime', excludePlugins: {CachePlugin});

// 单次请求添加插件(热插)
final response = await SmartDio.get('/api', extraPlugins: [CustomPlugin()]);

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

doGet<T>(String path, {Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken}) Future<SmartResponse<T>>
实例 GET 请求
doPost<T>(String path, {dynamic data, Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken, bool isFormData = false}) Future<SmartResponse<T>>
实例 POST 请求
doRequest<T>(SmartRequest request, {List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish}) Future<SmartResponse<T>>
实例完整请求
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

delete<T>(String path, {dynamic data, Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken}) Future<SmartResponse<T>>
DELETE 请求
get<T>(String path, {Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken}) Future<SmartResponse<T>>
GET 请求
init(SmartConfig config) → void
初始化默认客户端
of(String key) SmartDio
获取指定客户端实例
patch<T>(String path, {dynamic data, Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken}) Future<SmartResponse<T>>
PATCH 请求
post<T>(String path, {dynamic data, Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken, bool isFormData = false}) Future<SmartResponse<T>>
POST 请求
put<T>(String path, {dynamic data, Map<String, dynamic>? queryParameters, Map<String, String>? headers, List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish, CancelToken? cancelToken}) Future<SmartResponse<T>>
PUT 请求
register(String key, SmartConfig config) → void
注册命名客户端
request<T>(SmartRequest request, {List<SmartPlugin>? extraPlugins, Set<Type>? excludePlugins, BaseOptions? optionsOverride, OnStart? onStart, OnSuccess<T>? onSuccess, OnError? onError, OnFinish? onFinish}) Future<SmartResponse<T>>
完整请求配置
setDefault(String key) → void
切换默认客户端