DioHandler
Introduction
DioHandler is a Flutter package designed to simplify network API calls using the Dio HTTP client. It provides utility functions and customization options to streamline API request handling in your Flutter applications.
Features
- Simplified API calls with Dio.
- Customizable error and loading dialogs.
- Network connectivity check.
- Callback time measurement.
Table of Contents
Installation
To use DioHandler in your Flutter project, add it as a dependency in your pubspec.yaml
file:
dependencies:
dio_handler: <latest_version>
Then, run flutter pub get
to install the package.
Usage
Import the Package
First, import the dio_handler
package in your Dart file:
import 'package:dio_handler/dio_handler.dart';
Create a DioHandler Instance
Create an instance of DioHandler
by providing a Dio instance and other optional parameters:
final DioHandler dioHandler = DioHandler(
customErrorDialog: MyCustomErrorDialog(), // Optional: Provide a custom error dialog widget
customLoadingDialog: MyCustomLoadingDialog(), // Optional: Provide a custom loading dialog widget
isCheckNetworkConnectivity: true, // Optional: Enable network connectivity check
isAlertDialogs: true, // Optional: Show alert dialogs for errors
isCallBackTime: true, // Optional: Measure API callback time (debug mode)
);
Replace MyCustomErrorDialog()
and MyCustomLoadingDialog()
with your actual custom error and loading dialog widgets if needed.
Make API Requests
To make an API request and handle responses, use the callAPI()
method:
dioHandler.callAPI(
serviceUrl: 'https://api.example.com/data',
method: 'GET',
success: (response) {
// Handle successful response here
print('API Request Successful');
print(response.data);
},
error: (error) {
// Handle error response here
print('API Request Error');
print(error);
},
showProcess: true, // Set to true to display a loading dialog
);
Example
You can find an example of how to use DioHandler in the example
folder of this package. To run the example, follow these steps:
- Clone this repository.
- Navigate to the
example
folder. - Run
flutter run
to launch the example app.
Get in touch
If you have any questions, feel free to reach out:
- Email: chhapawalaarfaz@gmail.com
- GitHub: @Arfaz123
- LinkedIn: @Arfaz Chhapawala
- YouTube: @devfaaz
Contributing
Contributions to the dio_handler
package are welcome! If you find a bug or want to add a new feature, feel free to open an issue or submit a pull request.
Contributors
License
This package is released under the Apache License. See the LICENSE file for details.
Feel free to explore the features of the DioHandler package and customize it to suit your needs. If you have any questions or feedback, don't hesitate to reach out. Happy coding!
Libraries
- dio_handler
- This is the main library for the Dio Handler package.