Comment construire une API REST avec Flask et une base de données Postgres
Les interfaces de programmation d’applications (API) sont une partie essentielle de la construction et de la connexion de différents systèmes, permettant à vos applications de communiquer et d’échanger des données avec d’autres services.
Bien que le développement du backend ne se limite pas à l’écriture d’API – il couvre également l’écriture de la logique commerciale côté serveur, la conception d’architectures système efficaces et d’autres fonctions clés, lisez la suite pour apprendre à construire une API REST CRUD simple avec Flask (un framework Python léger), et la base de données Postgres.
Utilisation de Flask pour créer des API dorsales
Flask est un framework Python léger qui fournit un certain nombre de fonctionnalités permettant de simplifier l’écriture d’API backend pour les clients web écrits à l’aide de différentes technologies telles que React et Angular.
Vous pouvez trouver le code source de ce projet dans ce dépôt GitHub.
Ce guide vous accompagnera dans l’écriture d’une API REST qui met en œuvre les quatre opérations CRUD : créer, lire, mettre à jour et supprimer pour gérer les données des utilisateurs stockées dans une base de données Postgres.
Configurer une base de données Postgres
Pour commencer, rendez-vous sur ElephantSQL une solution d’hébergement de bases de données basée sur le cloud qui fournit une plateforme pour créer et gérer des bases de données Postgres sur le cloud, inscrivez-vous et connectez-vous à la page de présentation de votre compte.
Cliquez sur l’icône Créer une nouvelle instance pour créer une nouvelle instance pour votre application.
Indiquez le nom de votre instance et sélectionnez le plan gratuit, puis sélectionnez la région où l’instance sera hébergée pour terminer le processus de configuration.
Une fois l’instance créée, naviguez jusqu’à la page des paramètres et copiez le fichier URL de la base de données Vous l’utiliserez pour établir une connexion avec la base de données.
Mise en place d’un serveur Flask
Sur votre terminal, créez un dossier de projet et changez le répertoire actuel en ce nouveau dossier.
Avant d’installer Flask, vérifiez que vous utilisez la version 3.6+ de Python sur votre machine. Si ce n’est pas le cas, vous devez installer la dernière version de Python. Python la plus récente.
Ensuite, installez virtualenv pour créer un environnement de développement virtuel isolé.
Ensuite, exécutez la commande ci-dessous pour créer un environnement virtuel.
Enfin, activez l’environnement virtuel.
Installez les paquets requis
Dans le répertoire racine de votre dossier de projet, créez un fichier requirements.txt et ajoutez ces paquets.
Ensuite, installez les paquets.
Les psycopg2-binary est une bibliothèque Python qui agit comme un middleware, pour vous permettre d’établir des connexions avec votre base de données Postgres et d’effectuer diverses opérations sur la base de données.
Enfin, créez un fichier . env et collez l’URL de votre base de données.
Créer le serveur Flask
Enfin, créez un fichier app.py dans le répertoire racine, et ajoutez le code ci-dessous.
Ce code met en place une instance de l’application Flask. Il crée ensuite une connexion à la base de données spécifiée dans la chaîne d’URL et, enfin, met en place une route d’accueil qui renvoie une chaîne en guise de réponse.
Créer l’API REST permettant les opérations CRUD
Maintenant, construisez l’API REST qui met en œuvre les quatre opérations CRUD.
Créer une table de démonstration
Créez une table utilisateur dans la base de données.
Dans le fichier app.py, ajoutez le code ci-dessous.
- Ce code crée une nouvelle table PostgreSQL appelée utilisateurs avec deux colonnes.
- Il utilise la méthode de connexion psycopg2 pour établir la connexion avec la base de données et crée un nouvel objet curseur à l’aide de la méthode connexion.curseur qui est utilisée pour exécuter des requêtes SQL.
1. Définissez la méthode POST
Créez la route post pour ajouter des données.
- La chaîne de requête SQL définit une instruction SQL qui sera exécutée à l’aide de la méthode curseur.execute pour insérer une nouvelle ligne avec le nom d’un utilisateur dans la base de données utilisateurs dans la base de données. Elle renvoie l’ID de l’utilisateur nouvellement créé.
- L’utilisateur create_user prend en paramètre un nom à stocker dans la base de données, tandis que la fonction curseur.fetchone est appelée pour récupérer l’identifiant de l’utilisateur nouvellement créé. Enfin, un dictionnaire contenant l’ID et le nom de l’utilisateur nouvellement créé, ainsi qu’un message indiquant que l’utilisateur a été créé avec succès, est renvoyé.
2. Définissez la méthode GET
Définissez deux itinéraires get : l’un pour récupérer toutes les données de la base de données et l’autre pour récupérer des données spécifiques de la base de données en fonction de l’ID.
- Cette première route API gère les requêtes HTTP GET pour récupérer tous les utilisateurs de la base de données. Elle récupère tous les utilisateurs de la base de données et renvoie les résultats au format JSON dans la réponse.
- Cette deuxième route API gère les demandes HTTP GET permettant de récupérer les données d’un utilisateur spécifique dans la base de données. Elle prend en compte les données de l’utilisateur ID de l’utilisateur comme paramètre, récupère les données de l’utilisateur dans la base de données et renvoie les résultats au format JSON dans la réponse.
3. Définir la méthode PUT
Créez la route put pour mettre à jour les données stockées dans la base de données.
- La méthode update_user prend le paramètre ID de l’utilisateur en entrée et l’utilise pour mettre à jour le nom de l’utilisateur spécifié dans la base de données.
- Si l’opération de mise à jour réussit, elle renvoie un objet JSON avec l’ID et le nom de l’utilisateur mis à jour, ainsi qu’un message de réussite dans la réponse.
4. Définir la méthode DELETE
Mettez en œuvre la route de suppression pour supprimer les données stockées d’un utilisateur spécifique dans la base de données.
- Cette route API gère la fonctionnalité de suppression d’un utilisateur spécifique de la base de données sur la base de son ID. Si l’utilisateur n’est pas trouvé, elle renvoie un code d’état 404 avec un message d’erreur. Toutefois, si l’opération de suppression est réussie, elle renvoie un objet JSON avec un message de réussite dans la réponse.
Écrire des API REST avec Flask
Ce guide montre comment utiliser Flask et Postgres pour créer une API REST CRUD simple, ainsi que comment établir une connexion à une base de données et exécuter différentes requêtes SQL pour lire et écrire des données dans une base de données. Vous pouvez maintenant créer une API REST simple qui peut gérer les quatre opérations CRUD requises dans toute application Web.
Que vous construisiez un simple blog ou une application web complexe, Flask et Postgres offrent de puissantes fonctionnalités et capacités nécessaires à la création d’un système backend robuste. Vous pouvez également utiliser d’autres technologies telles que FastAPI et MongoDB pour créer des API RESTful.
S’abonner à notre lettre d’information
Comment connecter une base de données PostgreSQL avec Flask ?
Se connecter à une base de données Postgres SQL avec une application Python Flask’ sur Windows 11
- Installez PostgresSQL sur Windows 11. Rendez-vous sur la page de téléchargement de PostgreSQL et téléchargez le programme d’installation pour Windows.
- lister les bases de données.
- créer et exécuter une application Flask.
- connecter l’application Flask’ à votre serveur de base de données.
- conclusion + prochaines étapes.
Comment créer une API REST à partir de Postgres ?
Comment construire une API REST NodeJS avec Express et PostgreSQL ?
- Prérequis.
- Exemple de projet.
- Structure du projet.
- Installer PostgreSQL sur la machine locale.
- Installation de l’outil PGAdmin.
- Créer une table de base de données.
- Configurer PostgreSQL dans l’application Express.
- Opérations CRUD.
Comment connecter l’API REST à PostgreSQL ?
L’API REST permet de générer une interface pour une utilisation transparente de PostgreSQL avec l’application.Méthode 1 : Utilisation de Javascript pour les opérations CRUD
- GET – / | displayHome()
- GET – /users | getUsers()
- GET – /users/:id | getUserById()
- POST – users | createUser()
- PUT – /users/:id | updateUser()
- DELETE – /users/:id | deleteUser()
Postgres dispose-t-il d’une API REST ?
PostgREST est un serveur web autonome qui transforme votre base de données PostgreSQL directement en une API RESTful. Les contraintes structurelles et les permissions de la base de données déterminent les points de terminaison et les opérations de l’API.