Introduction
Dans ce tutoriel, vous apprendrez comment créer une API REST simple en utilisant Flask, un framework Web léger Python. Nous couvrirons les bases de la configuration d’une application Flask, la définition de routes, le traitement des demandes et le retour de réponses JSON. À la fin de ce tutoriel, vous aurez une API fonctionnelle que vous pouvez étendre et intégrer avec d’autres applications.
Prérequis
-
Un serveur fonctionnant sous Ubuntu et un utilisateur non-root avec des privilèges sudo et un pare-feu actif. Pour des instructions sur la configuration, veuillez choisir votre distribution à partir de cette liste et suivez notre guide de configuration initiale du serveur. Veuillez vous assurer de travailler avec une version supportée d’Ubuntu.
-
Famille avec la ligne de commande Linux. Pour une introduction ou un rappel sur la ligne de commande, vous pouvez visiter ce guide sur préliminaires de la ligne de commande Linux
-
Un基本了解Python编程。
-
Python 3.7或更高版本已安装在您的Ubuntu系统上。要了解如何在Ubuntu上运行Python脚本,请参考我们关于如何在Ubuntu上运行Python脚本的教程。
Étape 1 — Configuration de votre environnement Flask
Ubuntu 24.04 fournit Python 3 par défaut. Ouvrez le terminal et exécutez la commande suivante pour vérifier l’installation de Python 3 :
Si Python 3 est déjà installé sur votre machine, la commande précédente retournera la version actuelle de l’installation de Python 3. Dans le cas où elle n’est pas installée, vous pouvez exécuter la commande suivante pour installer Python 3 :
Next, vous devez installer l’outil d’installation de packages pip
sur votre système :
Une fois que pip
est installé, installez Flask.
Vous installerez Flask via pip
. Il est recommandé de faire cela dans un environnement virtuel pour éviter les conflits avec d’autres paquets sur votre système.
Étape 2 – Créer une application Flask
La prochaine étape consiste à écrire le code Python pour l’application Flask. Pour créer un nouveau script, naviguez vers le dossier de votre choix :
Une fois dans le dossier, créez un nouveau fichier Python, app.py,
et importez Flask. Ensuite, initialisez une application Flask et créez une route de base.
Cela ouvrira un éditeur de texte vide. Écrivez votre logique ici ou copiez le code suivant :
Étape 3 — Création de routes RESTful
Dans cette section, nous définirons des routes dans notre application Flask qui correspondent aux différentes actions qu’un utilisateur peut effectuer sur l’API. Chaque route traitera un certain nombre d’ méthodes HTTP spécifiques.
GET
, POST
, PUT
, et DELETE
. Ces méthodes correspondent aux quatre opérations de base du stockage persistant, souvent appelées CRUD (Créer, Lire, Mettre à jour, Supprimer).
Ajoutez les routes suivantes à votre script Python app.py
:
Cherchez-nous d’avantage sur ce que font chacune des fonctions :
-
Imports Flask : Le code importe les composants nécessaires de Flask :
Flask
,jsonify
, etrequest
. -
Stockage de données en mémoire :
items
est une simple liste de dictionnaires qui agit comme un magasin de données temporaires pour l’API. Chaque élément possède unid
et unname
. -
GET
/api/items
: Lorsqu’une requêteGET
est effectuée sur/api/items
, le serveur retourne une liste de tous les articles dans le magasin de données des articles. Cela est utile pour récupérer toutes les ressources d’une collection. -
POST
/api/items
: Une requête POST sur/api/items
permet au client de créer un nouvel article. Le serveur attend un objet JSON contenant les détails du nouvel article dans le corps de la requête. Après la création de l’article, le serveur répond avec l’article nouvellement créé et un code d’état201 Created
. -
PUT
/api/items/<int:item_id>
: Une requêtePUT
sur/api/items/<item_id>
est utilisée pour mettre à jour un article existant avec leitem_id
spécifié. Le client envoie les données mises à jour dans le corps de la requête, et le serveur modifie l’article existant. Si l’article n’est pas trouvé, le serveur retourne une erreur404 Not Found
. -
DELETE
/api/items/<int:item_id>
: Une requêteDELETE
à/api/items/<item_id>
supprime l’élément avec l’item_id
spécifié du magasin de données. Si l’élément est supprimé avec succès, le serveur répond avec un code de statut204 No Content
, indiquant que la suppression a réussi et qu’il n’y a pas de contenu supplémentaire à renvoyer. -
Exécution de l’application : Le bloc
if __name__ == "__main__":
garantit que l’application Flask s’exécute lorsque le script est exécuté directement.
Étape 4 — Exécution et test de votre API
Démarrez votre serveur Flask en utilisant la commande suivante :
Vous devriez voir le serveur Flask en cours d’exécution avec l’affichage suivant :
A partir de l’affichage ci-dessus, vous pouvez voir que le serveur fonctionne sur http://127.0.0.1
et écoute sur le port 5000
.
Maintenant, vous pouvez tester les points d’accès en utilisant curl
, Postman ou un autre client HTTP. Dans ce tutoriel, vous utiliserez curl
pour tester les points d’accès et envoyer les demandes HTTP.
Ouvrez une autre console Ubuntu et exécutez les commandes curl
suivantes une par une :
- GET :
curl http://127.0.0.1:5000/api/items
- POST :
curl -X POST -H "Content-Type: application/json" -d '{"name": "This is item 3"}' http://127.0.0.1:5000/api/items
- PUT :
curl -X PUT -H "Content-Type: application/json" -d '{"name": "This is updated item 1"}' http://127.0.0.1:5000/api/items/1
- DELETE :
curl -X DELETE http://127.0.0.1:5000/api/items/1
Voyons chacune de ces commandes en action :
Vous constateriez que le serveur retourne une liste de tous les éléments dans le magasin de données des éléments.
En utilisant la méthode POST
, essayons d’ajouter un nouvel élément au magasin de données.
Remarque : Sur votre autre console où le serveur Flask est en cours d’exécution, vous constateriez toutes les requêtes HTTP exécutées et leur code de réponse également.
C’est un excellent moyen pour surveiller, débugger et résoudre les problèmes du serveur.
Ensuite, essayons d’exécuter une requête PUT
. Une requête PUT
vers /api/items/<item_id>
met à jour un élément existant avec l’ID d’élément spécifié item_id
.
Maintenant, essayons d’exécuter une requête GET
pour voir l’élément mis à jour 1.
Enfin, essayons d’exécuter une requête DELETE
pour supprimer un élément du magasin de données.
Cela supprimera l’élément 1 du magasin de données.
Pour vérifier cela, exécutons une requête GET
.
Vous constaterez que l’élément 1 est désormais absent et a été supprimé définitivement.
Conclusion
Dans ce tutoriel, vous avez créé une application de base REST en utilisant Flask. Vous pouvez maintenant étendre cette API avec des routes supplémentaires, intégrer une base de données ou la déployer sur une plateforme cloud comme DigitalOcean. Flask est une puissante plateforme pour construire des API rapidement et de manière efficace, et avec ces bases, vous êtes prêt à commencer la construction d’applications plus complexes.
Source:
https://www.digitalocean.com/community/tutorials/create-a-rest-api-using-flask-on-ubuntu