[flutter] Dio를 사용하여 요청에 인터셉터를 적용하는 방법을 알려주세요.
Dio 인터셉터란 무엇인가요?
Dio는 네트워크 요청과 응답을 가로채고 조작할 수 있는 인터셉터를 제공합니다. 이를 사용하면 모든 요청 또는 응답에 대해 추가적인 처리를 적용할 수 있습니다.
Dio에 인터셉터 추가하기
Dio 인터셉터를 추가하려면 Dio
객체를 만든 후 interceptors
속성에 인터셉터를 추가하면 됩니다. 아래는 이 작업을 수행하는 예제 코드입니다.
import 'package:dio/dio.dart';
void main() {
Dio dio = Dio();
dio.interceptors.add(InterceptorsWrapper(
onRequest: (options, handler) {
// 요청 전에 수행할 작업
// options을 수정하거나 새로운 작업을 추가할 수 있습니다.
return handler.next(options); // 다음 단계로 진행
},
onResponse: (response, handler) {
// 응답을 받은 후에 수행할 작업
// response를 수정하거나 추가적인 작업을 수행할 수 있습니다.
return handler.next(response); // 다음 단계로 진행
},
onError: (DioError e, handler) {
// 오류가 발생했을 때 수행할 작업
// 오류 처리 또는 추가적인 작업을 수행할 수 있습니다.
return handler.next(e); // 다음 단계로 진행
}
));
}
위의 예제 코드에서는 InterceptorsWrapper
를 사용하여 onRequest
, onResponse
, onError
의 경우에 따라 인터셉터를 정의하고 있습니다.
이제 Dio를 사용하여 요청에 인터셉터를 적용하는 방법을 알고 계실 것입니다.