Android 使用http响应头的颤振缓存JSON响应
我正在尝试为服务器JSON响应创建并使用缓存 类似于截击响应缓存的功能。 在安卓系统中Android 使用http响应头的颤振缓存JSON响应,android,json,api,flutter,Android,Json,Api,Flutter,我正在尝试为服务器JSON响应创建并使用缓存 类似于截击响应缓存的功能。 在安卓系统中 我正在使用DIO进行网络操作。您可以在DIO请求之上创建自己的缓存,并使用拦截器 您可以自己在中创建: import 'package:dio/dio.dart'; class CacheInterceptor extends Interceptor { CacheInterceptor(); var _cache = new Map<Uri, Response>(); @ove
我正在使用
DIO
进行网络操作。您可以在DIO请求之上创建自己的缓存,并使用拦截器
您可以自己在中创建:
import 'package:dio/dio.dart';
class CacheInterceptor extends Interceptor {
CacheInterceptor();
var _cache = new Map<Uri, Response>();
@override
onRequest(RequestOptions options) async {
return options;
}
@override
onResponse(Response response) async {
_cache[response.request.uri] = response;
}
@override
onError(DioError e) async{
print('onError: $e');
if (e.type == DioErrorType.CONNECT_TIMEOUT || e.type == DioErrorType.DEFAULT) {
var cachedResponse = _cache[e.request.uri];
if (cachedResponse != null) {
return cachedResponse;
}
}
return e;
}
}
或者只需查看库:
final dio = Dio()..interceptors.add(CacheInterceptor());