Skip to content

Commit 7175956

Browse files
committed
Created class API for handling endpoint Random Meal and Cocktail
1 parent b050ff0 commit 7175956

5 files changed

+53
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import 'package:dio/dio.dart';
2+
import 'package:flutter/cupertino.dart';
3+
import 'package:flutter_multiple_bloc/model/randomcocktail/random_cocktail.dart';
4+
5+
class ApiTheCocktailDbProvider {
6+
final Dio _dio = Dio();
7+
final String _baseUrl = 'https://www.thecocktaildb.com/api/json/v1/1';
8+
9+
Future<RandomCocktail> getRandomCocktail() async {
10+
try {
11+
final response = await _dio.get('$_baseUrl/random.php');
12+
return RandomCocktail.fromJson(response.data);
13+
} catch (error) {
14+
debugPrint('$error');
15+
return RandomCocktail.withError('$error');
16+
}
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter_multiple_bloc/api/thecocktaildb/api_the_cocktail_db_provider.dart';
2+
import 'package:flutter_multiple_bloc/model/randomcocktail/random_cocktail.dart';
3+
4+
class ApiTheCocktailDbRepository {
5+
final ApiTheCocktailDbProvider _apiTheCocktailDbProvider = ApiTheCocktailDbProvider();
6+
7+
Future<RandomCocktail> fetchRandomCocktail() => _apiTheCocktailDbProvider.getRandomCocktail();
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import 'package:dio/dio.dart';
2+
import 'package:flutter/cupertino.dart';
3+
import 'package:flutter_multiple_bloc/model/randommeal/random_meal.dart';
4+
5+
class ApiTheMealDbProvider {
6+
final Dio _dio = Dio();
7+
final String _baseUrl = 'https://www.themealdb.com/api/json/v1/1';
8+
9+
Future<RandomMeal> getRandomMeal() async {
10+
try {
11+
final response = await _dio.get('$_baseUrl/random.php');
12+
return RandomMeal.fromJson(response.data);
13+
} catch (error) {
14+
debugPrint('$error');
15+
return RandomMeal.withError('$error');
16+
}
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter_multiple_bloc/api/themealdb/api_the_meal_db_provider.dart';
2+
import 'package:flutter_multiple_bloc/model/randommeal/random_meal.dart';
3+
4+
class ApiTheMealDbRepository {
5+
final ApiTheMealDbProvider _apiTheMealDbProvider = ApiTheMealDbProvider();
6+
7+
Future<RandomMeal> fetchRandomMeal() => _apiTheMealDbProvider.getRandomMeal();
8+
}

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ dependencies:
1818
flutter_bloc: ^3.1.0
1919

2020
# A powerful Http client for Dart, which supports interceptors, FormData, Request Cancellation,
21-
# File Downloadint, Timeout etc.
21+
# File Downloading, Timeout etc.
2222
dio: ^3.0.8
2323

2424
dev_dependencies:

0 commit comments

Comments
 (0)