flutter 怎么拦截请求,Flutter全局Http拦截器

I would like to know if it is possible to have a global HTTP interceptor to attach token in header for all requests in Flutter? I've searched a lot and couldn't find any information as where and how to set it up as globally. Thanks a lot!

解决方案

Using dio package u can do that :

Dio dio = Dio(BaseOptions(

connectTimeout: 30000,

baseUrl: 'your api',

responseType: ResponseType.json,

contentType: ContentType.json.toString(),

))

..interceptors.addAll(

[

InterceptorsWrapper(onRequest: (RequestOptions requestOptions) {

dio.interceptors.requestLock.lock();

String token = ShareP.sharedPreferences.getString('token');

if (token != null) {

dio.options.headers[HttpHeaders.authorizationHeader] =

'Bearer ' + token;

}

dio.interceptors.requestLock.unlock();

return requestOptions;

}),

// other interceptor

],

);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值