[flutter] 플러터 GET 요청에 캐시를 사용하는 방법은 무엇인가요?
캐시를 사용하면 동일한 GET 요청을 반복해서 호출할 때 네트워크 요청을 줄일 수 있습니다. Flutter에서는 http
패키지를 사용하여 GET 요청을 처리할 수 있으며, 이 패키지는 기본적으로 캐시 기능을 제공합니다.
캐시를 사용하려면 http
패키지의 HttpClient
클래스의 autoUncompress
와 cache
속성을 설정해야 합니다. 아래의 예제를 참고하여 캐시를 사용하는 GET 요청을 만들어보세요.
import 'dart:async';
import 'package:http/http.dart' as http;
Future<void> fetchPost() async {
var client = http.Client();
client.autoUncompress = true;
client.cache = http.CacheContext();
var response = await client.get(Uri.parse('https://api.example.com/posts/1'));
if (response.statusCode == 200) {
// 요청이 성공한 경우 처리할 로직 작성
print(response.body);
} else {
// 요청이 실패한 경우 처리할 로직 작성
print('요청 실패: ${response.statusCode}');
}
client.close();
}
위의 코드에서 client.autoUncompress
는 서버의 압축 응답을 자동으로 압축 해제하도록 설정하며, client.cache
는 캐시를 사용하기 위한 CacheContext
인스턴스를 생성합니다. 이제 GET 요청을 보낼 때마다 캐시를 사용하게 됩니다.
캐시를 사용하면 네트워크 요청을 줄여 성능을 향상시킬 수 있으므로, 플러터에서 GET 요청에 캐시를 적용하는 방법을 익혀서 효율적으로 네트워크를 사용해보세요.
참고 자료: