Flutterでアプリ開発をする際に、サーバーサイドのAPIにアクセスするために
Dioってライブラリを使うのがいい。
dioはリクエストをとても扱いやすくしてくれる。
サーバーへのリクエストではJSON形式のHTTPリクエストが多いので
基本的な使い方を書き溜め。
概要
Dio HTTP GET
HTTP GETをするのは簡単。
dio.get(url)でいい。
Headerを付与したりする場合もOption指定が楽。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import 'package:dio/dio.dart'; final dio = new Dio(); final url = "https://omohikane.com" final auth_token = "hogehoge"; var data = await dio.get( url, options: Options( headers: { "Content-Type": "application/json", "Authorization": " Bearer $auth_token", }, ), ).then((response) { print(response.data); return response.data; }).catchError((err){ print(err); return null; }); |
response.dataでオブジェクトが取れるので
あとはFutureBuilderに投げたりすきにできる。
Dio HTTP POST
POSTも簡単。dio.post(url, data)でいける。
FormDataを利用できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import 'package:dio/dio.dart'; final dio = new Dio(); final url = "https://omohikane.com" var payload = { "title": "タイトル", "content": "内容", }; var data = await dio.post( url, data: new FormData.fromMap( payload ), options: Options( headers: { }, ), ).then((response) { print(response.data); return response.data; }).catchError((err){ print(err); return null; }); |
基本的にFlutter開発でdioは必須ライブラリだと思っています。
じゃあね〜〜〜〜。
コメント
payloadに型がないですよ
ご指摘ありがとうございます(´・ω・)!
お礼にXRPいります?