すらぼうの開発ノート

モバイルアプリエンジニアのメモ

【Flutter / Dart】httpパッケージの使用方法

本エントリではhttpパッケージの使用方法を以下の流れで説明する。



httpパッケージとは

httpはHTTPリクエストを作成する際に使用するパッケージ。 公式リポジトリにも記載の通り、Future-basedなので非同期でリクエストを作成できる。

pub.dev


httpパッケージ使用方法

httpパッケージを用いた

の作成方法を以下で説明する。 またその際に必要なURLの渡し方についても併せて説明する。

URLの作成

GET、POSTリクエストを作成する際にURL情報が必要になる。この時URLインスタンスを作成する。 プロトコルHTTPSの場合Uri.https()を使用。

例えば https://jsonplaceholder.typicode.com/todos/1 をURLとして使用したい場合、上記のURLホストディレクトリ部分に入る文字列は

  • URLホスト: jsonplaceholder.typicode.com
  • ディレクトリ: /todos/1

がそれぞれ該当するので実際のコードは次のようになる。

GET

GETリクエストはhttp.get()で作成する。引数にはURLインスタンスを渡す。

先ほどの https://jsonplaceholder.typicode.com/todos/1 にGETリクエストを送信する場合、実際のコードは次のようになる。

POST

POSTリクエストはhttp.post()で作成する。引数にはURLインスタンス、ヘッダー、ボディを渡す。

先ほどの https://jsonplaceholder.typicode.com/todos/1 にPOSTリクエストを送信する場合、実際のコードは次のようになる。bodyのデータをいじるとレスポンスが変わるので試してみてほしい。

レスポンスのパース

httpがリクエストを発行して取得したレスポンスはResponseクラス。

pub.dev

そのため実際のデータはbodyプロパティに含まれている。 上記のドキュメントも確認していただきたいが、よく使うプロパティは以下。

  • body: 本文
  • statusCode: ステータス行(200や404など)
  • headers: ヘッダー

詳しくは以下のリンクなどを参照されたい。

developer.mozilla.org