Python är ett kraftfullt programmeringsspråk. Den har många bibliotek för att bygga REST- eller RESTful-API: er. Ett av det populära biblioteket för att bygga webbappar och skriva REST API: er är Flaska.
I den här artikeln visar jag dig hur du skapar REST API i Python med hjälp av Flask. Låt oss börja.
Krav:
Du borde ha
- Python 2 eller Python 3 installerad på din dator.
- PIP eller PIP3 installerad på din dator.
- Den grundläggande förståelsen för Pythons programmeringsspråk.
- Den grundläggande förståelsen för att utföra kommandon i skalet.
Du bör kunna hitta artiklar och handledning om alla dessa ämnen på LinuxHint.com
Jag kommer att använda Python 3 på Debian 9 Stretch i den här artikeln. Om du använder Python 2 måste du justera lite. Du borde kunna räkna ut det själv eftersom det blir enkelt som att skriva pytonorm istället för python3 och pip istället för pip3.
Konfigurera virtuell miljö:
För att uttrycka det enkelt används virtuell miljö för att isolera en Python-app från en annan. Python-paketet som används för att göra det är virtualenv.
Du kan enkelt installera virtualenv använder PIP på din dator med följande kommando:
$ sudo -H pip3 installera virtualenvSkapa nu en projektkatalog (låt oss kalla den pyrest /) med följande kommando:
$ mkdir pyrestSkapa nu en virtuell Python-miljö på pyrest / projektkatalog med följande kommando:
$ virtualenv pyrest /Navigera nu in i projektkatalogen med följande kommando:
$ cd pyrestAktivera sedan den virtuella Python-miljön med följande kommando:
$ källkorg / aktiveraSlutligen kör följande kommando för att installera Flask Python-biblioteket:
$ bin / pip3 installera kolvenSkriva ditt första flaskmanus:
I det här avsnittet kommer jag att skriva ett hejvärldsprogram i Python Flask.
Skapa först en fil Hej.py i din projektkatalog:
$ touch hej.pyLägg nu till följande rader till Hej.py filen och spara den.
I nästa avsnitt kommer jag att visa dig hur du kör Flask-skript.
Running Flask Script:
Nu för att starta Hej.py Flaskserver, kör följande kommando:
$ bin / python3 hej.pySom du ser har servern börjat http: // 127.0.0.1: 8080.
Nu kan du komma åt Flask-servern http: // 127.0.0.1: 8080 från webbläsaren eller API-testprogramvara som Postman. Jag ska använda CURL.
$ curl http: // 127.0.0.1: 8080Som du kan se skrivs ut korrekt ut på skärmen.
Grattis! Flaskan fungerar.
Åtkomst till data med hjälp av GET i REST API:
GET-begäran på REST API används för att hämta information från API-servern. Du ställer in några API-slutpunkter och gör en GET-begäran om den slutpunkten. Det är enkelt.
Skapa först en ny fil skaffa sig.py i din projektkatalog med följande kommando:
$ touch få.pyLägg nu till följande rader i din skaffa sig.py filen och spara den.
Här, på rad 1, Flaska konstruktörsfunktion och jsonify funktionen importeras från kolvmodulen.
På rad 3, a Flaska objekt skapas och lagras på app variabel.
På rad 5 skapade jag en Python-uppsättning av ordböcker med en del dummydata och lagrade den i konton variabel.
På rad 10 definierade jag API-slutpunkten / konton och förfrågningsmetoden, vilket är SKAFFA SIG.
På rad 11 definierade jag funktionen getAccounts (). getAccounts () funktionen körs när en GET-begäran till / konton slutpunkt görs.
Linje 12, som är en del av getAccounts () funktion, konverterade jag konton utbud av ordböcker till JSON med jsonify () funktion och returnerade den.
På rad 14-15 ringde jag till app.springa() att berätta för Flask att köra API-servern på port 8080.
Kör nu Flask API-servern med följande kommando:
$ bin / python3 get.pyServern har startat på port 8080.
Gör nu en GET-begäran till / konton slutpunkt med CURL enligt följande:
$ curl http: // 127.0.0.1: 8080 / kontonSom du kan se visas kontodata som JSON-format på GET-begäran den / konton slutpunkt.
Du kan också få specifik kontodata också. För att göra det ska jag skapa en annan API-slutpunkt /konto/
Redigera skaffa sig.py skript och lägg till de markerade raderna i det.
Här på rad 14 definierade jag API-slutpunkten /konto/
På rad 15-17, funktionen getAccount () för API-slutpunkten /konto/
På rad 16, id variabel konverteras till ett heltal. Jag drog också 1 från id variabel. Eftersom matrisindex börjar från 0. Jag vill starta konto-ID från 1. Så om jag sätter 1 som konto
På rad 17, arrayen vid index
Resten av koderna är desamma.
Kör nu API-servern igen.
$ bin / python3 get.py
Jag begärde data för konto 1 och 2 separat och jag fick den förväntade produktionen som du kan se från skärmdumpen nedan.
$ curl http: // 127.0.0.1: 8080 / konto / 1$ curl http: // 127.0.0.1: 8080 / konto / 2
Lägga till data med POST i REST API:
Nu ska jag byta namn skaffa sig.py till api.py och lägg till en API-slutpunkt /konto för att lägga till nya data.
Döp om skaffa sig.py till api.py:
$ mv -v få.py api.pyLägg först till raderna (19-26) som markerade på skärmdumpen nedan till api.py fil.
Kör nu api.py server:
$ bin / python3 api.py
För att infoga nya data i /konto slutpunkt, kör följande kommando:
$ curl -X POST -H "Content-Type: application / json" -d '"name": "Shovon", "balance": 100'http: // 127.0.0.1: 8080 / konto
NOTERA: Här, '"Name": "Shovon", "balance": 100' är JSON-indata.
Uppgifterna ska infogas.
Som du kan se läggs de nya uppgifterna till.
Så det är det för den här artikeln. Tack för att du läste den här artikeln.