[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를 사용하여 요청에 인터셉터를 적용하는 방법을 알고 계실 것입니다.