apinion_logo

Apinion is a lightweight, developer-friendly Dart package that simplifies REST API calls in your Flutter or Dart apps.

  • πŸ” Optional API key support
  • 🌐 Base URL set once
  • ⏱ Customizable timeout duration
  • πŸͺ„ One-liner HTTP calls: GET, POST, PUT, PATCH, DELETE
  • πŸ–ΌοΈ File/image upload support
  • πŸͺ΅ Built-in pretty logger using logger package

Documentation Button


πŸ” Example

import 'package:apinion/apinion.dart';

void main() async {
  ApinionConfig.init(
    baseUrl: 'https://jsonplaceholder.typicode.com',
  );

  // GET request
  final getResponse = await ApinionClient.get('/posts/1');
  if (getResponse.isSuccess) {
    print('Title: ${getResponse.responseData['title']}');
  } else {
    print('Error: ${getResponse.errorMessage}');
  }

  // POST request
  final postResponse = await ApinionClient.post('/posts', body: {
    'title': 'foo',
    'body': 'bar',
    'userId': 1,
  });
  if (postResponse.isSuccess) {
    print('New Post ID: ${postResponse.responseData['id']}');
  }
}