Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.1.36

api_manager

Ein einfaches Paket zur einfachen Verwaltung von API-Anfragen mit Hilfe von flutter dio api.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
301
Likes
25
Pub-Punkte
140

Paket installieren

flutter pub add api_manager

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein leichtgewichtiger Flutter-Paket, der die Verwaltung von API-Anfragen mit dem HTTP-Client Dio vereinfachen soll. Es bietet eine benutzerfreundliche Schnittstelle zum Ausführen von HTTP-Aufrufen, zur Behandlung von Antworten und zur konsistenten Fehlerverwaltung in Projekten. Mit Fokus auf die Entwicklererfahrung entwickelt, vereinfacht es alltägliche Aufgaben wie Authentifizierungsheader, Anfrageinterception und Antwortanalyse. Ideal für Apps, die zuverlässige und wartbare Netzwerkkommunikation erfordern.

Anwendungsfälle

  • Verarbeitung von REST-API-Aufrufen
  • Verwaltung von Authentifizierungstoken
  • Zentralisierung von API-Endpunkten
  • Fehlerbehandlung und Wiederholungslogik
  • Anfrage/Antwort-Protokollierung
  • Netzwerkschichtcode vereinfachen

Hauptmerkmale

  • Auf Basis von Dio aufgebaut
  • Einfache Konfiguration und Einrichtung
  • Unterstützt Interceptor
  • Automatische Fehlerbehandlung
  • Modulares und wiederverwendbares Design
  • Klare Trennung der Verantwortlichkeiten

Geeignet für

  • Flutter-Anfänger lernen Netzwerke
  • Projekte, die konsistente API-Muster benötigen
  • Apps mit mehreren API-Endpunkten
  • Teams, die wartbaren Code priorisieren
  • Entwickler, die minimales Boilerplate wollen

Hinweise

  • Kenntnisse der Grundlagen von Dio erforderlich
  • Beschränkt auf HTTP-Anfragen (kein WebSocket-Unterstützung)
  • Möglicherweise ist zusätzliche Einrichtung für komplexe Authentifizierungsabläufe erforderlich
  • Nicht geeignet für sehr große Unternehmensanwendungen ohne Anpassung

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

api_manager pub package

A simple flutter API to manage rest api request easily with the help of flutter dio.

Get started

Install

Add dependency

pub package

dependencies:
  api_manager: $latest_version
Super simple to use
import 'package:api_manager/api_manager.dart';

void main() async {
 
  ApiResponse response = await ApiManager().request(
    requestType: RequestType.GET,
    route: "your route",
  );
  print(response);
}
Config in a base manager

class ApiRepository {
  
  static final ApiRepository _instance = ApiRepository._internal(); /// singleton api repository
  ApiManager _apiManager;

  factory ApiRepository() {
    return _instance;
  }

  /// base configuration for api manager
  ApiRepository._internal() {
    _apiManager = ApiManager();
    _apiManager.options.baseUrl = BASE_URL; /// EX: BASE_URL = https://google.com/api/v1 
    _apiManager.options.connectTimeout = 100000;
    _apiManager.options.receiveTimeout = 100000;
    _apiManager.responseBodyWrapper('data'); /// This is used to parse the response without data attribute, some use case will shown below
    _apiManager.enableLogging(responseBody: true, requestBody: false); /// enable api logging EX: response, request, headers etc
    _apiManager.enableAuthTokenCheck(() => "access_token"); /// EX: JWT/PASSPORT auth token store in cache
  }
}

Examples

Suppose we have a response model like this:

class SampleResponse{
  String name;
  int id;

  SampleResponse.fromJson(jsonMap): 
        this.name = jsonMap['name'],
        this.id = jsonMap['id'];
}

and actual api response json structure is:

{
    "data": {
        "name": "md afratul kaoser taohid",
        "id": "id"
    }
}

#Now we Performing a GET request :

 Future<ApiResponse<SampleResponse>> getRequestSample() async =>
      await _apiManager.request<SampleResponse>(
        requestType: RequestType.GET,
        route: 'api_route',
        requestParams: {"userId": 12}, /// add params if required
        isAuthRequired: true, /// by set it to true, this request add a header authorization from this method enableAuthTokenCheck();
        responseBodySerializer: (jsonMap) {
          return SampleResponse.fromJson(jsonMap); /// parse the json response into dart model class
        },
      );

#Now we Performing a POST request :

 Future<ApiResponse<SampleResponse>> postRequestSample() async =>
      await _apiManager.request<SampleResponse>(
        requestType: RequestType.POST,
        route: 'api_route',
        requestBody: {"userId": 12}, /// add POST request body
        isAuthRequired: true, /// by set it to true, this request add a header authorization from this method enableAuthTokenCheck();
        responseBodySerializer: (jsonMap) {
          return SampleResponse.fromJson(jsonMap); /// parse the json response into dart model class
        },
      );

#Now er performing a multipart file upload request :

  Future<ApiResponse<void>> updateProfilePicture(
    String filePath,
  ) async {
    MultipartFile multipartFile =
        await _apiManager.getMultipartFileData(filePath);
    FormData formData = FormData.fromMap({'picture': multipartFile});

    return await _apiManager.request(
      requestType: RequestType.POST,
      isAuthRequired: true,
      requestBody: formData,
      route: 'api_route',
    );
  }

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.