🌐
REST API連携
http/dioでサーバーとデータ通信
Flutterでサーバーデータを取得するにはhttp(軽量)またはdio(高機能)パッケージを使用します。
JSONレスポンスをDartクラスに変換する際、fromJson()/toJson()パターンを使い、json_serializable + build_runnerで自動生成できます。
FutureBuilderまたは状態管理ライブラリ(RiverpodのFutureProviderなど)でローディング/エラー/成功状態を管理します。
実装ステップ
1
httpまたはdioパッケージ追加 + APIモデルクラス定義
2
fromJson()/toJson()メソッド作成(またはjson_serializable使用)
3
Repositoryパターンで API呼び出しロジック分離
4
FutureBuilderまたはRiverpod FutureProviderで非同期UI実装
メリット
- ✓ dioはインターセプターでトークン更新/エラーハンドリング一元化可能
- ✓ json_serializableでシリアライズコード自動生成
デメリット
- ✗ build_runnerのコード生成が大規模プロジェクトで遅くなる可能性
- ✗ エラーハンドリング戦略を事前設計しないと混乱
ユースケース
SNSフィードリストのロード
EC商品検索と詳細表示
参考資料
- 🔗 dioパッケージ