पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv0.1.36

api_manager

एक सरल पैकेज जो flutter dio api की मदद से आसानी से API अनुरोध प्रबंधित करता है।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
301
लाइक
25
Pub अंक
140

पैकेज इंस्टॉल करें

flutter pub add api_manager

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

एक हल्का फ्लटर पैकेज जो डायो HTTP क्लाइंट के उपयोग से API रिक्वेस्ट प्रबंधन को सरल बनाने के लिए डिज़ाइन किया गया है। यह HTTP कॉल करने, प्रतिक्रिया को संभालने और प्रोजेक्ट में त्रुटि प्रबंधन के लिए आसान इंटरफेस प्रदान करता है। डेवलपर अनुभव को ध्यान में रखते हुए बनाया गया है, जो प्रमाणीकरण हेडर, रिक्वेस्ट इंटरसेप्शन और प्रतिक्रिया विश्लेषण जैसे सामान्य कार्यों को सरल बनाता है। विश्वसनीय और बनाए रखने योग्य नेटवर्क संचार की आवश्यकता वाले ऐप्स के लिए आदर्श है।

उपयोग

  • REST API कॉल का हैंडलिंग
  • प्रमाणीकरण टोकन प्रबंधित करें
  • API एंडपॉइंट्स को केंद्रीकृत करना
  • त्रुटि संभाल और पुनर्प्रयास तर्क
  • अनुरोध/प्रतिक्रिया लॉगिंग
  • नेटवर्क परत कोड को सरल बनाना

मुख्य विशेषताएँ

  • Dio के ऊपर बनाया गया
  • आसान कॉन्फ़िगरेशन और सेटअप
  • अनुमति देता है अंतराप्रवेशकों को
  • स्वचालित त्रुटि संभालना
  • मॉड्यूलर और पुनर्उपयोगी डिज़ाइन
  • चिंता के स्पष्ट विभाजन

इनके लिए उपयुक्त

  • Flutter शुरुआती नेटवर्किंग सीखना
  • स्थिर API पैटर्न की आवश्यकता वाले प्रोजेक्ट्स
  • बहुत सारे API एंडपॉइंट वाले ऐप्स
  • रखरखाव योग्य कोड प्राथमिकता देने वाली टीमें
  • न्यूनतम बॉलरप्लेट चाहने वाले डेवलपर्स

विचार योग्य बातें

  • Dio के बुनियादी ज्ञान की आवश्यकता है
  • HTTP के लिए सीमित (WebSocket समर्थन नहीं)
  • जटिल प्रमाणीकरण प्रवाह के लिए अतिरिक्त सेटअप की आवश्यकता हो सकती है
  • कस्टमाइज़ेशन के बिना बहुत बड़े स्केल के एंटरप्राइज ऐप्स के लिए उपयुक्त नहीं

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

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',
    );
  }

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 2 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।