Création de l'API REST dans Python

Création de l'API REST dans Python
Le transfert d'état de repos ou de représentation est un style de développement logiciel utilisé principalement dans l'API ou la conception d'interface 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 dispose de nombreuses bibliothèques pour construire un repos ou des API reposantes. L'une des bibliothèques populaires pour créer des applications Web et écrire des API REST est Ballon.

Dans cet article, je vais vous montrer comment créer une API REST dans Python en utilisant Flask. Commençons.

Exigences:

Tu aurais dû

  • Python 2 ou Python 3 installé sur votre ordinateur.
  • PIP ou PIP3 installé sur votre ordinateur.
  • La compréhension de base du langage de programmation Python.
  • La compréhension de base de l'exécution des commandes dans le shell.

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 régler un peu. Vous devriez pouvoir le comprendre vous-même car ce sera simple comme l'écriture python au lieu de python3 et pépin au lieu de PIP3.

Configuration de l'environnement virtuel:

Pour le dire simplement, un environnement virtuel est utilisé pour isoler une application Python d'un autre. Le package Python utilisé pour le faire est virtualv.

Vous pouvez facilement installer virtualv Utilisation de PIP sur votre ordinateur avec la commande suivante:

$ sudo -h pip3 installer VirtualEnv

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

$ mkdir pyrest

Créez maintenant un environnement virtuel Python sur le Pyrest / Répertoire de 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 / Activate

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

$ bin / pip3 Installer Flask

Écriture de votre premier script Flask:

Dans cette section, j'écrirai un programme Hello World dans Python Flask.

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

$ touch bonjour.py

Ajoutez maintenant les lignes suivantes à Bonjour.py fichier et enregistrer.

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

Script Flask en cours d'exécution:

Maintenant pour démarrer le Bonjour.py Flask Server, exécutez la commande suivante:

$ bin / python3 Bonjour.py

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

Maintenant, vous pouvez accéder au serveur FLASK http: // 127.0.0.1: 8080 Depuis le navigateur Web ou les logiciels de test de tests 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.

Bravo! Flask fonctionne.

Accéder aux données à l'aide de l'API Get In Rest:

L'API de demande de requête sur repos est utilisée pour récupérer les informations du serveur API. Vous définissez des points de terminaison de l'API et faites une demande de get sur ce point final. C'est simple.

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

$ touch get.py

Maintenant, ajoutez les lignes suivantes dans votre obtenir.py fichier et enregistrer.

Ici, sur la ligne 1, le Ballon fonction du constructeur et jsonify La fonction est importée du module FLASK.

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

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

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

Sur la ligne 11, j'ai défini la fonction getAccounts (). getAccounts () La fonction s'exécutera lorsqu'une demande de GET à /comptes Le point de terminaison est fait.

Ligne 12, qui fait partie de getAccounts () fonction, j'ai converti le comptes tableau de dictionnaires à JSON en utilisant JSONIFY () fonction et l'a renvoyé.

En ligne 14-15, j'ai appelé le appliquer.courir() Pour dire à Flask d'exécuter le serveur API sur le port 8080.

Exécutez maintenant le serveur API FLASK avec la commande suivante:

$ bin / python3.py

Le serveur a commencé sur le port 8080.

Maintenant, faites une demande de recours au /comptes Point de terminaison avec boucle comme suit:

$ curl http: // 127.0.0.1: 8080 / comptes

Comme vous pouvez le voir, les données des comptes s'affichent sous forme de format JSON sur la demande de 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 API /compte/. Ici, sera l'ID le titulaire du compte. L'identifiant 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.

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

En ligne 16, le identifiant la variable est convertie en un entier. J'ai également déduit 1 du identifiant variable. Parce que l'index du tableau commence à 0. Je veux démarrer l'ID du 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.

Sur la ligne 17, le tableau à l'index est renvoyé comme json.

Le reste des codes est le même.

Maintenant, exécutez à nouveau le serveur API.

$ bin / python3.py

J'ai demandé des données pour le compte 1 et 2 séparément et j'ai obtenu la sortie attendue 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 la publication dans l'API REST:

Maintenant je vais renommer obtenir.py pour API.py et ajouter un point de terminaison de l'API /compte Pour ajouter de nouvelles données.

Renommer obtenir.py pour API.py:

$ mv -v obtenir.API PY.py

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

Maintenant, exécutez 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 "Content-Type: application / json" -d '"name": "shovon", "bancan": 100'
http: // 127.0.0.1: 8080 / compte

NOTE: Ici, '"Name": "shovon", "équilibre": 100' est 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.

Alors c'est tout pour cet article. Merci d'avoir lu cet article.