[flutter] Dio를 사용하여 서버의 응답을 캐싱하는 방법을 알려주세요.
Dio 라이브러리 및 캐시 플러그인 추가
먼저, pubspec.yaml
파일에 Dio와 dio_http_cache 플러그인을 추가합니다.
dependencies:
dio: ^4.0.0
dio_http_cache: ^3.0.0
그런 다음, 패키지를 업데이트합니다.
flutter pub get
Dio 인스턴스 생성
Dio 인스턴스를 생성하고 캐시 플러그인을 추가합니다.
import 'package:dio/dio.dart';
import 'package:dio_http_cache/dio_http_cache.dart';
void main() {
Dio dio = Dio();
dio.interceptors.add(DioCacheManager(CacheConfig(baseUrl: "http://api.com")).interceptor);
}
캐시된 요청 수행
이제 Dio를 사용하여 서버 응답을 캐싱할 수 있습니다.
Response response = await dio.get(
"/data",
options: buildCacheOptions(Duration(hours: 1), forceRefresh: true),
);
위의 코드에서 buildCacheOptions
를 사용하여 캐시 시간과 강제 새로고침 옵션을 설정할 수 있습니다. 이렇게 하면 Dio가 서버 응답을 캐싱하고 캐시된 데이터를 반환합니다.
결론
Dio를 사용하여 서버 응답을 캐싱하는 방법을 알아보았습니다. 이를 통해 앱의 성능을 향상시키고 네트워크 요청을 줄일 수 있습니다.
더 자세한 내용은 Dio 공식 문서를 참고하세요.