フラッタレストAPI
9467 ワード
このFlutter Rest API Integration例では、バックエンドシステムでユーザー登録と認証を構築します.ここでは、PHP登録とログインAPIでバックエンド認証を使用しています.アプリケーション側では、共有設定でユーザー認証の状態を維持しています.以前の記事では、レトロライブラリとのフルラッターでのREST APIの統合を学びました.アクセスする前に変数を宣言する必要がある場合は、遅延修飾子をその変数に適用する必要があります.
スキャフォールドを使用したスナックバーの表示は推奨されません.ここでは、SqaffoldMessengerStateを使用したスナックバーを示しています
以下の例は、バックエンドのPHPファイル
HTTP POSTリクエストでREST APIを呼び出します
この残りのAPIの統合電子メールの検証は以下のようにREG式を使用して行われ、我々はまた、フラッタフォームBuider
ソースコードのダウンロード
ログインと登録によるFlutter Rest API Integration
Flutter Rest API Integration with Retofit
Flutter Rest API with Bloc state Management
スキャフォールドを使用したスナックバーの表示は推奨されません.ここでは、SqaffoldMessengerStateを使用したスナックバーを示しています
以下の例は、バックエンドのPHPファイル
mysqli_connect.php
login.php
registration.php
以下のページを持つフロントエンド signin.dart
signup.dart
home.dart
main.dart
HTTP呼び出しを行い、ローカルでデータを保持する必要があるので、PubSecに2つの追加パッケージを追加します.山口大dev_dependencies:
flutter_test:
sdk: flutter
http: ^0.13.3
flutter_datetime_picker: ^1.5.1
intl: ^0.17.0
webview_flutter: ^2.0.9
shared_preferences: ^2.0.6
HTTP POSTリクエストでREST APIを呼び出します
login(email,password) async
{
Map data = {
'email': email,
'password': password
};
print(data.toString());
final response= await http.post(
Uri.parse(LOGIN),
headers: {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
},
body: data,
encoding: Encoding.getByName("utf-8")
) ;
setState(() {
isLoading=false;
});
if (response.statusCode == 200) {
Map<String,dynamic>resposne=jsonDecode(response.body);
if(!resposne['error'])
{
Map<String,dynamic>user=resposne['data'];
print(" User name ${user['id']}");
savePref(1,user['name'],user['email'],user['id']);
Navigator.pushReplacementNamed(context, "/home");
}else{
print(" ${resposne['message']}");
}
scaffoldMessenger.showSnackBar(SnackBar(content:Text("${resposne['message']}")));
} else {
scaffoldMessenger.showSnackBar(SnackBar(content:Text("Please try again!")));
}
}
どのようにフラッタで電子メールの検証を行うには?この残りのAPIの統合電子メールの検証は以下のようにREG式を使用して行われ、我々はまた、フラッタフォームBuider
var reg=RegExp(r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+");
reg.hasMatch(_emailController.text)
上記では、REST API呼び出しをするためにHTTPパッケージを使用しました.応答を解析して、モデルクラスにJSONデータを解析するために、ここではRest API integration with Retrofitソースコードのダウンロード
ログインと登録によるFlutter Rest API Integration
Flutter Rest API Integration with Retofit
Flutter Rest API with Bloc state Management
Reference
この問題について(フラッタレストAPI), 我々は、より多くの情報をここで見つけました https://dev.to/rrtutors/flutter-rest-api-integration-49dテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol