Implementing Get Products Functionality
Get Products
Import
import 'package:dio/dio.dart';
import 'package:techamp_flutter_shopping_app/app.dart';
Create an abstract class of ProductRepository
abstract class ProductRepository {
Future<List<Product>> getAll();
}
Implement the abstract class
class ProductRepositoryImpl implements ProductRepository {
final Dio _dio;
const ProductRepositoryImpl(this._dio) : assert(_dio != null);
@override
Future<List<Product>> getAll() async {
try {
final response = await _dio.get('products');
final List productsJson = response.data;
return productsJson.map((json) => Product.fromJson(json)).toList();
} on DioError catch (_) {
throw const AppError('Network error');
} on dynamic catch (_) {
throw const AppError('Something went wrong.');
}
}
}
Last updated
Was this helpful?