🌐

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商品検索と詳細表示

参考資料