home_provider.dart
931 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'home_model.dart';
abstract class IHomeProvider {
Future<ApiModel> get();
Future<ApiModel> post(Map<String, dynamic> data);
Future<ApiModel> put(Map<String, dynamic> data);
Future<ApiModel> delete(int id);
}
class HomeProvider implements IHomeProvider {
final Dio dio;
HomeProvider({@required this.dio});
Future<ApiModel> get() async {
try {
final response = await dio.get("https://api.covid19api.com/summary");
return ApiModel.fromJson(response.data);
} catch (e) {
print(e.toString());
return null;
}
}
@override
Future<ApiModel> post(Map<String, dynamic> data) {
throw UnimplementedError();
}
@override
Future<ApiModel> put(Map<String, dynamic> data) {
throw UnimplementedError();
}
@override
Future<ApiModel> delete(int id) {
throw UnimplementedError();
}
}