Added api
This commit is contained in:
parent
b578af84a1
commit
5edb64a060
1 changed files with 27 additions and 0 deletions
27
lib/functions/get_api.dart
Normal file
27
lib/functions/get_api.dart
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import 'dart:convert';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||
import 'package:dio_smart_retry/dio_smart_retry.dart';
|
||||
|
||||
Future<Map<dynamic, dynamic>> getApi(String method, String? data, String? data2) async {
|
||||
final dio = Dio();
|
||||
dio.interceptors.add(RetryInterceptor(dio: dio, retries: 3, retryDelays: const [Duration(seconds: 1)]));
|
||||
|
||||
final url = dotenv.env['BACKEND_URL'];
|
||||
|
||||
late String endpoint;
|
||||
if (data != null && data2 != null) {
|
||||
endpoint = '$method/$data/$data2/fetch-data';
|
||||
} else if (data != null) {
|
||||
endpoint = '$method/$data/fetch-data';
|
||||
} else {
|
||||
endpoint = method;
|
||||
}
|
||||
|
||||
final response = await dio.get('$url/api/$endpoint');
|
||||
final status = response.statusCode;
|
||||
final result = status == 200 ? json.encode(response.data) : json.encode(null);
|
||||
final Map<dynamic, dynamic> resultMap = json.decode(result);
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue