Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.1.36

api_manager

Um pacote simples para gerenciar solicitações de API facilmente com a ajuda do flutter dio api.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
301
Curtidas
25
Pontos Pub
140

Instalar pacote

flutter pub add api_manager

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote leve do Flutter projetado para simplificar a gestão de solicitações de API usando o cliente HTTP Dio. Ele fornece uma interface fácil de usar para fazer chamadas HTTP, lidar com respostas e gerenciar erros de forma consistente em projetos. Construído com a experiência do desenvolvedor em mente, ele agiliza tarefas comuns como cabeçalhos de autenticação, interceptação de requisições e análise de respostas. Ideal para aplicativos que exigem comunicação de rede confiável e sustentável.

Casos de uso

  • Manipulação de chamadas de API REST
  • Gerenciando tokens de autenticação
  • Centralizar pontos de extremidade da API
  • Tratamento de erros e lógica de repetição
  • Registro de solicitação/resposta
  • Simplificando o código da camada de rede

Principais recursos

  • Construído sobre o Dio
  • Configuração e instalação fáceis
  • Suporta interceptores
  • Tratamento automático de erros
  • Design modular e reutilizável
  • Separação clara de responsabilidades

Indicado para

  • Iniciantes do Flutter aprendendo redes
  • Projetos que precisam de padrões de API consistentes
  • Aplicativos com múltiplos pontos de extremidade da API
  • Equipes priorizando código mantido
  • Desenvolvedores que querem mínimo boilerplate

Considerações

  • Requer conhecimento básico do Dio
  • Limitado a solicitações HTTP (sem suporte a WebSocket)
  • Pode ser necessário configuração adicional para fluxos de autenticação complexos
  • Não adequado para aplicativos empresariais em grande escala sem personalização

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.