[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 공식 문서를 참고하세요.