Flutter 使用 http 响应头缓存 JSON 响应
Posted
技术标签:
【中文标题】Flutter 使用 http 响应头缓存 JSON 响应【英文标题】:Flutter Cache JSON response using http response header 【发布时间】:2020-03-25 16:15:43 【问题描述】:我正在尝试为服务器 JSON 响应创建和使用缓存。
类似 volley 响应缓存的东西。
https://***.com/a/32022946/1993001 在android
我正在使用DIO
进行网络操作。
【问题讨论】:
【参考方案1】:您可以在 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());
或者只是检查库:https://pub.dev/packages/dio_cache
【讨论】:
以上是关于Flutter 使用 http 响应头缓存 JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章