Flash Api

Il s'agit d'une api pour faire des appeles api en toute simplicité.

Configuration

Après l'installation du package, vous aurez besoin de créer tout à la racine du projet, un fichier "env.json".

Il s'agit du fichier où nos configurations seront renseignées.

Il se présente comme suit :

Fichier env.json

{
    "APP_PROD_ENV"   :   bool,           // Il du type d'environnement de votre projet (true - production ou false -  developpement)

    "API_PROD_BASE_URL"   :   "lien",    // Il s'agit de votre lien api de production
    "API_DEV_BASE_URL"    :   "lien",    // Il s'agit de votre lien api de developpement
    "API_CONNECT_TIMEOUT" :   10000,     // Il s'agit du temp d'attente  pour l'envoi de requete (10s par défaut) (Facultatif)
    "API_RECEIVE_TIMEOUT" :   10000,     // Il s'agit du temp d'attente  pour la réception du retour de la requete (10s par défaut) (Facultatif)
    "API_TOKEN_TYPE"      :   "Bearer"          // Il s'agit du type de token qu'accepte votre api. (Facultatif)
}

Une fois la base d'URL ainsi définies dans votre fichier json, vous n'aurez plus qu'à passer le endpoint en paramètre au helper utilisé en fonction de votre type de requête.

Penser à ajouter l'asset dans le pubspec.yaml

assets:
    - env.json

Exemple d'utilisation

Requete en get

Voici quelques exemples d'utilisation du package

import 'package:api/flash_api.dart';

get_data() async {
    var res = await apiGet('posts');
}

Requete en post

Voici quelques exemples d'utilisation du package

import 'package:api/flash_api.dart';

post_data() async {
    var res = await apiPost('posts', {
        "data1" : data1,
        "data2" : data2,
    });
}

Requete en delete

Voici quelques exemples d'utilisation du package

import 'package:api/flash_api.dart';

delete_data() async {
    var res = await apiDelete('posts/1');
}

Retours

Succès

En cas de succès, le retour se présente comme suit :

{
    'data': result,
    'status': result.statusCode
}

Erreur

En cas d'erreur, le retour se présente comme suit :

{
    'data': e,
    'status': e.response!.statusCode,
    'error': e.response,
}

NB

Si la route que vous souhaitez contactée est protégée par un token, vous aurez juste à passez le paramettre "token" au helper de la requete.

Par defaut, il s'agira d'un bearer, mais vous pouvez changer l'attribut facltatif "API_TOKEN_TYPE" de votre fichier de configuration.

import 'package:api/flash_api.dart';

get_data() async {
    var res = await apiGet('posts', token : "Votre token");
}

Libraries

flash_api