[flutter] Dio를 사용하여 요청과 응답에 인터셉터를 적용하여 로깅하는 방법을 알려주세요.
Dio 라이브러리 설치
먼저, Dio를 프로젝트에 추가해야 합니다. pubspec.yaml
파일에 다음을 추가하십시오:
dependencies:
dio: ^4.0.0
그런 다음 터미널에서 다음 명령어를 실행하여 Dio를 설치합니다:
flutter pub get
인터셉터 생성
Dio에서는 Interceptors
를 사용하여 로깅을 구현할 수 있습니다.
import 'package:dio/dio.dart';
void main() {
Dio dio = Dio();
dio.interceptors.add(InterceptorsWrapper(
onRequest: (options, handler) {
// TODO: 요청 로깅
print('===> Request: ${options.method} ${options.uri}');
return handler.next(options);
},
onResponse: (response, handler) {
// TODO: 응답 로깅
print('<=== Response: ${response.statusCode} ${response.statusMessage}');
return handler.next(response);
},
onError: (DioError e, handler) {
// TODO: 에러 로깅
print('xxx Error: ${e.message}');
return handler.next(e);
}
));
// 나머지 코드
}
위의 코드에서 InterceptorsWrapper
를 사용하여 onRequest
, onResponse
, onError
를 구현하여 각각 요청, 응답, 에러에 대한 로깅을 처리할 수 있습니다.
이제 Dio를 사용하여 API 요청을 보낼 때마다 해당 요청 및 응답에 대한 로깅이 이루어질 것입니다.
위의 예제를 참고하여 Dio를 사용하여 로깅하는 방법에 대해 알아보았습니다.