目次
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('何かしらの問題が発生しています'); } } }