1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Flutter / RESTAPI】簡単なAPIをFlutterで呼び出してみた!

Posted at

初めに

iOSやAndroidの開発を今までやってきましたが、
ここ最近はFlutterを使用して開発をしている企業も
多いのではないかと感じます。

フリーランスの案件にもちらほら見かけるので、
今更かもですが勉強しなくては。。

Dartは簡単に触ったので、お馴染みのAPI操作を
やってみました!

使用するAPI

郵便番号をパラメータとして使うことで、
住所の情報がJson形式で返却されるAPIを使用します。

参考:郵便番号データ配信サービス

環境

・Android Studio
・url_launcher: 6.1.2
・flutter_html: 2.2.1
・http: 0.13.3

実装

全体のソースというよりは、テンプレート見たいな感じで
順に説明します。

0. 事前準備

// ①pubspec.yamlで使用するパッケージを入力
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
http: ^0.13.3 // 追加

上記入力ができたら、右上の「Pub get」を動作させると
追加したライブラリを使用できるようになります!

1. URLを準備

// zipCodeは任意の郵便番号
// ハイフンはあってもなくても可
String url = 'https://zipcloud.ibsnet.co.jp/api/search?zipcode=$zipCode'; 

2. APIを呼び出し、結果を受け取る

var result = await get(Uri.parse(url));

3. Json形式にパースする

// json形式(key/value)なのでMapを使用
Map<String> data = jsonDecode(result.body);

// 後は呼び出し元に返却でも出力でも任意の操作で!
print(data);

試しに郵便番号を指定すると。。。

// 北海道に旅行行きたいなぁ。。
String zipCode = '0010001';

Jsonで返ってきた!!

{
    "message": null,
	"results": [
		{
			"address1": "北海道",
			"address2": "札幌市北区",
			"address3": "",
			"kana1": "ホッカイドウ",
			"kana2": "サッポロシキタク",
			"kana3": "",
			"prefcode": "1",
			"zipcode": "0010000"
		}
	],
	"status": 200
}

ちなみに誤りの番号を入れると。。

// zipCode = '9999999';
{
	"message": "パラメータ「郵便番号」の桁数が不正です。",
	"results": null,
	"status": 400
}

警告
エラーケースもあり!
7桁以外の数字を入力した場合は別のエラーが
返却される。。

// zipCode = '99999999999';
{
	"message": null,
	"results": null,
	"status": 200
}

最後に

以上がFlutterでAPIを呼び出す処理になります!
意外とシンプルですね!

ただ誤った番号を入力した際など様々なケースを
試したり、アプリに考慮すると色々実装も
楽しくなるのではないでしょうか?

この記事が参考になれば幸いです!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?