目次
RestAPIとは
「RestAPI」は「RESTful API」とも言います。
RESTアーキテクチャスタイルに従い、Webサービスとの対話を可能にするAPIです。
RESTは「REpresentational State Transfer」の略です。
事前準備
「pubspec.yaml」に以下の記載を追加する。
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
# ====以下を追加====
http: ^0.13.5
RestAPIの実行
「funcName」の中がRestAPIの実行箇所です。
GET通信のサンプルを記載しています
import 'dart:async';
import 'package:http/http.dart' as http;
class ClassName {
ClassName();
void funcName() {
try {
var response = await http.get(Uri.parse("https://example.com/hoge"));
var jsonResponse = _response(response);
// HTTPステータスの出力
print('Response status: ${response.statusCode}');
// APIのレスポンスを出力
print('Response body: ${response.body}');
} catch (e) {
throw (e);
}
}
dynamic _response(http.Response response) {
switch (response.statusCode) {
case 200:
var responseJson = response.body;
// var responseJson = jsonDecode(response.body);
return responseJson;
case 400:
// 400 Bad Request : 一般的なクライアントエラー
throw Exception('一般的なクライアントエラーです');
case 401:
// 401 Unauthorized : アクセス権がない、または認証に失敗
throw Exception('アクセス権限がない、または認証に失敗しました');
case 403:
// 403 Forbidden : 閲覧権限がないファイルやフォルダ
throw Exception('閲覧権限がないファイルやフォルダです');
case 500:
// 500 何らかのサーバー内で起きたエラー
throw Exception('何らかのサーバー内で起きたエラーです');
default:
// それ以外の場合
throw Exception('何かしらの問題が発生しています');
}
}
}