Flask : Création d’API minimaliste et flexible

Voici les étapes pour créer une API simple avec Flask :

1. Installation de Flask

Pour commencer, vous devez installer Flask. Vous pouvez le faire via pip :

bash

pip install Flask

2. Créer un fichier Python pour l’application (par exemple app.py)

Ensuite, créez un fichier Python où vous définirez votre API.

Voici un exemple de code minimal pour une API avec Flask :

python


from flask import Flask, jsonify, request

# Créer une instance de l'application Flask
app = Flask(__name__)

# Exemple de route simple pour obtenir un message de bienvenue
@app.route('/api', methods=['GET'])
def home():
return jsonify({"message": "Bienvenue sur l'API Flask!"})

# Exemple d'une route avec un paramètre (route dynamique)
@app.route('/api/hello/', methods=['GET'])
def greet_user(name):
return jsonify({"message": f"Bonjour, {name}!"})

# Exemple de méthode POST pour recevoir des données
@app.route('/api/data', methods=['POST'])
def post_data():
data = request.get_json() # Récupère les données JSON envoyées dans la requête
return jsonify({"received": data}), 201

# Lancer l'application
if __name__ == '__main__':
app.run(debug=True)

Explication :

  • Flask(__name__) : Crée une instance de l’application Flask.
  • @app.route : Définit une route pour l’API et associe une fonction à chaque URL.
    • Par défaut, Flask utilise GET pour récupérer des données.
    • On peut spécifier POST, PUT, DELETE, etc., pour différentes actions.
  • jsonify() : Cette fonction convertit un dictionnaire Python en un objet JSON qui sera envoyé en réponse à la requête.
  • request.get_json() : Permet d’extraire les données JSON envoyées dans une requête HTTP (utilisé avec POST, par exemple).
  • app.run(debug=True) : Démarre l’application Flask en mode debug pour le développement.

3. Tester l’API

Vous pouvez tester cette API en exécutant app.py :

bash

python app.py

L’API sera accessible à l’adresse http://127.0.0.1:5000/.

  • GET http://127.0.0.1:5000/api retournera {"message": "Bienvenue sur l'API Flask!"}.
  • GET http://127.0.0.1:5000/api/hello/John retournera {"message": "Bonjour, John!"}.
  • POST http://127.0.0.1:5000/api/data avec un corps JSON, par exemple : {"name": "Alice"} retournera {"received": {"name": "Alice"}}.