networking_layer 1.1.0
networking_layer: ^1.1.0 copied to clipboard
A robust, solid-compliant networking layer using Dio.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:networking_layer/networking_layer.dart';
import 'package:dartz/dartz.dart' hide State;
void main() {
DioServices.instance.init(
DioConfig(
baseUrl: 'https://jsonplaceholder.typicode.com',
translate: (key) => key,
),
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Networking Layer Example')),
body: Center(child: Text('Networking Layer Initialized')),
),
);
}
}
class TestApi with ApiClient {
Future<Either<HelperResponse, dynamic>> getUserREST(String id) async {
return await get('/users/$id', fromJson: (json) => json);
}
Future<List<dynamic>> getData() async {
HelperResponse response = await DioServices.instance.get('/users');
if (response.success) {
return response.data;
} else {
throw Exception(response.message);
}
}
}