[flutter] Dio를 사용하여 서버의 응답을 파싱하는 방법을 알려주세요.

Dio는 Flutter 애플리케이션에서 HTTP 요청을 쉽게 처리할 수 있는 강력한 패키지입니다. Dio를 사용하여 서버로부터의 응답을 효과적으로 파싱하는 방법을 설명하겠습니다.

1. Dio 패키지 추가하기

먼저 pubspec.yaml 파일에 Dio 패키지를 추가합니다.

dependencies:
  dio: ^4.0.0

그리고 flutter pub get 명령어를 사용하여 패키지를 설치합니다.

2. Dio 인스턴스 생성하기

다음으로 Dio 인스턴스를 생성하고 서버로부터의 응답을 처리할 준비를 합니다.

import 'package:dio/dio.dart';
 
final dio = Dio();

3. 서버 응답 파싱하기

Dio를 사용하여 GET 또는 POST 요청을 보내고, 서버로부터의 응답을 파싱할 수 있습니다.

예를 들어, 서버로부터 JSON 응답을 받았을 때, 다음과 같이 응답을 파싱할 수 있습니다.

Response response = await dio.get('https://api.example.com/data');
Map<String, dynamic> data = response.data;

또는 응답 데이터를 모델 클래스로 변환할 수도 있습니다.

class Post {
  final int userId;
  final int id;
  final String title;
  final String body;

  Post({required this.userId, required this.id, required this.title, required this.body});

  factory Post.fromJson(Map<String, dynamic> json) {
    return Post(
      userId: json['userId'],
      id: json['id'],
      title: json['title'],
      body: json['body'],
    );
  }
}

Response response = await dio.get('https://api.example.com/posts/1');
Post post = Post.fromJson(response.data);

4. 오류 처리하기

마지막으로 Dio를 사용하여 서버 응답의 오류 상황을 처리할 수도 있습니다.

try {
  Response response = await dio.get('https://api.example.com/data');
  // 처리 로직
} catch (e) {
  // 오류 처리 로직
}

Dio를 사용하여 Flutter 애플리케이션에서 서버로부터의 응답을 효과적으로 파싱할 수 있습니다. 이를 통해 데이터를 효율적으로 가져와 사용할 수 있게 됩니다.

더 자세한 내용은 Dio 공식 문서를 참고하시기 바랍니다.