Python

Création d'une API REST en Python

Création d'une API REST en Python
REST ou Representational State Transfer est un style de développement logiciel utilisé principalement dans la conception d'API ou d'interfaces de programmation d'applications pour créer des services Web interactifs et modernes. Il est également connu sous le nom de service Web RESTful.

Python est un langage de programmation puissant. Il possède de nombreuses bibliothèques pour créer des API REST ou RESTful. L'une des bibliothèques populaires pour la création d'applications Web et l'écriture d'API REST est Ballon.

Dans cet article, je vais vous montrer comment créer une API REST en Python à l'aide de Flask. Commençons.

Conditions:

Tu aurais dû

Vous devriez pouvoir trouver des articles et des tutoriels sur tous ces sujets sur LinuxHint.com

J'utiliserai Python 3 sur Debian 9 Stretch dans cet article. Si vous utilisez Python 2, vous devrez ajuster un peu. Vous devriez être capable de le comprendre vous-même car ce sera aussi simple que d'écrire python à la place de python3 et pépin à la place de pip3.

Configuration de l'environnement virtuel :

Pour faire simple, l'environnement virtuel est utilisé pour isoler une application Python d'une autre. Le package Python utilisé pour le faire est virtualenv.

Vous pouvez facilement installer virtualenv en utilisant PIP sur votre ordinateur avec la commande suivante :

$ sudo -H pip3 install virtualenv

Créez maintenant un répertoire de projet (appelons-le bûcheron/) avec la commande suivante :

$ mkdir pyrest

Créez maintenant un environnement virtuel Python sur le bûcheron/ répertoire du projet avec la commande suivante :

$ virtualenv pyrest/

Naviguez maintenant dans le répertoire du projet avec la commande suivante :

$ cd pyrest

Ensuite, activez l'environnement virtuel Python avec la commande suivante :

$ source bin/activer

Enfin, exécutez la commande suivante pour installer la bibliothèque Flask Python :

Fichier d'installation $ bin/pip3

Écriture de votre premier script de flacon :

Dans cette section, je vais écrire un programme hello world en Python Flask.

Tout d'abord, créez un fichier Bonjour.py dans le répertoire de votre projet :

$ toucher bonjour.py

Ajoutez maintenant les lignes suivantes à Bonjour.py fichier et enregistrez-le.

Dans la section suivante, je vais vous montrer comment exécuter des scripts Flask.

Exécution du script Flask :

Maintenant pour commencer le Bonjour.py Serveur Flask, exécutez la commande suivante :

$ bin/python3 bonjour.py

Comme vous pouvez le voir, le serveur a démarré le http://127.0.0.1:8080.

Maintenant, vous pouvez accéder au serveur Flask http://127.0.0.1:8080 à partir du navigateur Web ou des logiciels de test d'API tels que Postman. je vais utiliser CURL.

$ curl http://127.0.0.1:8080

Comme vous pouvez le voir, la sortie correcte est imprimée à l'écran.

félicitations! Le flacon fonctionne.

Accéder aux données à l'aide de GET dans l'API REST :

La requête GET sur l'API REST est utilisée pour récupérer les informations du serveur API. Vous définissez des points de terminaison d'API et effectuez une requête GET sur ce point de terminaison. C'est simple.

Tout d'abord, créez un nouveau fichier obtenir.py dans votre répertoire de projet avec la commande suivante :

$ toucher obtenir.py

Ajoutez maintenant les lignes suivantes dans votre obtenir.py fichier et enregistrez-le.

Ici, à la ligne 1, le Ballon fonction constructeur et jsonifier la fonction est importée du module flacon.

Sur la ligne 3, un Ballon l'objet est créé et stocké sur application variable.

Sur la ligne 5, j'ai créé un tableau Python de dictionnaires de données factices et je l'ai stocké dans le comptes variable.

À la ligne 10, j'ai défini le point de terminaison de l'API /comptes et la méthode de requête, qui est OBTENIR.

A la ligne 11, j'ai défini la fonction getComptes(). getComptes() La fonction s'exécutera lorsqu'une requête GET à /comptes le point final est fait.

La ligne 12, qui fait partie de getComptes() fonction, j'ai converti le comptes tableau de dictionnaires vers JSON en utilisant jsonify() fonction et l'a renvoyé.

Sur la ligne 14-15, j'ai appelé le application.Cours() pour dire à Flask d'exécuter le serveur API sur le port 8080.

Exécutez maintenant le serveur d'API Flask avec la commande suivante :

$ bin/python3 get.py

Le serveur a démarré sur le port 8080.

Faites maintenant une requête GET au /comptes point de terminaison avec CURL comme suit :

$ curl http://127.0.0.1:8080/comptes

Comme vous pouvez le voir, les données des comptes sont affichées au format JSON sur demande GET sur /comptes point final.

Vous pouvez également obtenir des données de compte spécifiques. Pour ce faire, je vais créer un autre point de terminaison d'API /Compte/. Ici, sera l'identifiant du titulaire du compte. L'ID ici est l'index du tableau.

Modifier le obtenir.py script et ajoutez-y les lignes marquées.

Ici, à la ligne 14, j'ai défini le point de terminaison de l'API /Compte/ et la méthode à utiliser, qui est OBTENIR.

Sur la ligne 15-17, la fonction obtenirCompte() pour le point de terminaison de l'API /Compte/ est défini. le obtenirCompte() fonction accepte un identifiant comme argument. La valeur de du point de terminaison de l'API est défini sur le identifiant variable de obtenirCompte() une fonction.

Sur la ligne 16, le identifiant la variable est convertie en un entier. J'ai aussi déduit 1 de la identifiant variable. Parce que l'index du tableau commence à partir de 0. Je veux commencer l'ID de compte à partir de 1. Donc si je mets 1 comme compte , 1 - 1 = 0, j'obtiendrai l'élément à l'index 0 du tableau comptes.

A la ligne 17, le tableau à l'index est renvoyé en JSON.

Le reste des codes est le même.

Maintenant, exécutez à nouveau le serveur API.

$ bin/python3 get.py

J'ai demandé les données pour les comptes 1 et 2 séparément et j'ai obtenu le résultat attendu comme vous pouvez le voir sur la capture d'écran ci-dessous.

$ curl http://127.0.0.1:8080/compte/1
$ curl http://127.0.0.1:8080/compte/2

Ajout de données à l'aide de POST dans l'API REST :

Maintenant je vais renommer obtenir.py à api.py et ajouter un point de terminaison d'API /Compte pour ajouter de nouvelles données.

Renommer obtenir.py à api.py:

$ mv -v obtenir.py api.py

Tout d'abord, ajoutez les lignes (19-26) comme indiqué dans la capture d'écran ci-dessous au api.py déposer.

Exécutez maintenant le api.py serveur:

$ bin/python3 api.py

Pour insérer de nouvelles données dans le /Compte point de terminaison, exécutez la commande suivante :

$ curl -X POST -H "Type de contenu : application/json" -d '"name": "Shovon", "balance": 100'
http://127.0.0.1:8080/compte

REMARQUE: Ici, '"nom": "Shovon", "solde": 100' sont les données d'entrée JSON.

Les données doivent être insérées.

Comme vous pouvez le voir, les nouvelles données sont ajoutées.

Voilà pour cet article.  Merci d'avoir lu cet article.

Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...
Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...
Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...