Pytonorm

Skapa REST API i Python

Skapa REST API i Python
REST eller Representational State Transfer är en mjukvaruutvecklingsstil som huvudsakligen används i design av API eller applikationsprogrammeringsgränssnitt för att bygga interaktiva och moderna webbtjänster. Det är också känt som RESTful webbtjänst.

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

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 virtualenv

Skapa nu en projektkatalog (låt oss kalla den pyrest /) med följande kommando:

$ mkdir pyrest

Skapa nu en virtuell Python-miljö på pyrest / projektkatalog med följande kommando:

$ virtualenv pyrest /

Navigera nu in i projektkatalogen med följande kommando:

$ cd pyrest

Aktivera sedan den virtuella Python-miljön med följande kommando:

$ källkorg / aktivera

Slutligen kör följande kommando för att installera Flask Python-biblioteket:

$ bin / pip3 installera kolven

Skriva 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.py

Lä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.py

Som 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: 8080

Som 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å.py

Lä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.py

Servern 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 / konton

Som 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/. Här, kommer att vara ID som kontoinnehavaren. ID här är indexet för matrisen.

Redigera skaffa sig.py skript och lägg till de markerade raderna i det.

Här på rad 14 definierade jag API-slutpunkten /konto/ och metoden som ska användas, vilket är SKAFFA SIG.

På rad 15-17, funktionen getAccount () för API-slutpunkten /konto/ är definierad. De getAccount () funktionen accepterar en id som ett argument. Värdet av från API-slutpunkten är inställd på id variabel av getAccount () fungera.

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 , 1 - 1 = 0, jag får elementet vid index 0 från matrisen konton.

På rad 17, arrayen vid index returneras som JSON.

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.py

Lä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.

Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...