[Flutter]Dioの使い方

FlutterでDioを使用してAPIを叩く方法

ステップ1: Dioパッケージの追加

最初に、pubspec.yamlファイルにDioパッケージを追加します。DioはFlutterのHTTPクライアントで、便利な機能を多く備えています。

dependencies: 
  flutter:
    sdk:  flutter
  dio: ^4.0.0 # Dioの最新バージョンを確認してください

ステップ2: Dioクライアントの作成

Dioをインポートし、Dioクライアントのインスタンスを作成します。

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

ステップ3: APIリクエストの実行

次に、Dioを使用してAPIリクエストを行います。例として、GETリクエストを実行する方法を示します。

Future<void> fetchUserData() async {
  try {
    final response = await dio.get('https://example.com/user');
    print(response.data.toString());
  } on DioError catch (e) {
    print(e.toString());
  }
}

この関数は、指定したURL (https://example.com/user) からユーザーデータを非同期に取得します。エラーが発生した場合は、DioErrorをキャッチして処理します。

ステップ4: レスポンスの処理

APIからのレスポンスを受け取った後、そのデータを処理する必要があります。上記の例では、単にレスポンスデータをコンソールに出力していますが、実際のアプリケーションではデータを解析してUIに反映させることが一般的です。

ステップ5: エラー処理

Dioは、HTTPエラーやタイムアウト、その他の例外をDioErrorとして扱います。適切なエラー処理を行うことで、アプリケーションの堅牢性を高めることができます。

on DioError catch (e) {
  if (e.response != null) {
    // サーバーからのレスポンスがある場合のエラー処理
    print('Got error : ${e.response.statusCode} -> ${e.response.data}');
  } else {
    // リクエストが送られなかった場合やレスポンスがない場合のエラー処理
    print('Error sending request!');
  }
}

まとめ

Dioを使用することで、FlutterアプリケーションでのAPI通信が簡単かつ効率的になります。Dioはカスタマイズ可能で、多くの高度な機能を提供しており、大規模なアプリケーション開発にも適しています。上記のステップを参考に、API通信の実装を行ってみてください。