dio_adapter 1.2.0 copy "dio_adapter: ^1.2.0" to clipboard
dio_adapter: ^1.2.0 copied to clipboard

is a Dart package that simplifies HTTP requests using the Dio library. It provides a structured way to handle API CRUD operations with customizable request and response handling, error management, and [...]

example/dio_adapter_example.dart

// Example usage of DioBuilderBase
import 'package:dio/dio.dart';
import 'package:dio_adapter/dio_adapter.dart';

void main() async {
  final dioBuilder = DioAdapterBase(
    baseUrl: 'https://jsonplaceholder.typicode.com',
    connectTimeout: Duration(seconds: 30),
    receiveTimeout: Duration(seconds: 30),
    responseType: ResponseType.json,
    contentType: Headers.jsonContentType,
    customRequestHandler: (options) {
      print('Request: ${options.method} ${options.path}');
      return options;
    },
    customResponseHandler: (response) {
      print('Response: ${response.statusCode} ${response.data}');
      return response;
    },
    customErrorHandler: (error) {
      print('Error: ${error.message}');
    },
  );

  // Example GET request
  final getResult = await dioBuilder.get('/posts/1');
  getResult.fold(
    (error) => print('GET Error: $error'),
    (response) => print('GET Response: ${response.data}'),
  );

  // Example POST request
  final postResult = await dioBuilder.post('/posts', body: {'title': 'foo', 'body': 'bar', 'userId': 1});
  postResult.fold(
    (error) => print('POST Error: $error'),
    (response) => print('POST Response: ${response.data}'),
  );

  // Example PUT request
  final putResult = await dioBuilder.put('/posts/1', body: {'id': 1, 'title': 'updated title', 'body': 'updated body', 'userId': 1});
  putResult.fold(
    (error) => print('PUT Error: $error'),
    (response) => print('PUT Response: ${response.data}'),
  );

  // Example DELETE request
  final deleteResult = await dioBuilder.delete('/posts/1');
  deleteResult.fold(
    (error) => print('DELETE Error: $error'),
    (response) => print('DELETE Response: ${response.statusCode}'),
  );
}
1
likes
0
points
101
downloads

Publisher

unverified uploader

Weekly Downloads

is a Dart package that simplifies HTTP requests using the Dio library. It provides a structured way to handle API CRUD operations with customizable request and response handling, error management, and HTTP client adaptation.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, either_dart, logger

More

Packages that depend on dio_adapter