Python

Opretter REST API i Python

Opretter REST API i Python
REST eller repræsentativ tilstandsoverførsel er en softwareudviklingsstil, der hovedsagelig bruges i design af API eller applikationsprogrammeringsgrænseflade til at opbygge interaktive og moderne webservices. Det er også kendt som RESTful webtjeneste.

Python er et stærkt programmeringssprog. Det har mange biblioteker til opbygning af REST- eller RESTful-API'er. Et af det populære bibliotek til opbygning af webapps og skrivning af REST API'er er Kolbe.

I denne artikel vil jeg vise dig, hvordan du opretter REST API i Python ved hjælp af Flask. Lad os komme igang.

Krav:

Du skulle have

Du skal være i stand til at finde artikler og tutorials om alle disse emner på LinuxHint.com

Jeg bruger Python 3 på Debian 9 Stretch i denne artikel. Hvis du bruger Python 2, bliver du nødt til at justere lidt. Du skal være i stand til selv at finde ud af det, da det vil være simpelt som at skrive python i stedet for python3 og pip i stedet for pip3.

Opsætning af virtuelt miljø:

For at sige det enkelt bruges virtuelt miljø til at isolere en Python-app fra en anden. Python-pakken, der bruges til at gøre det, er virtualenv.

Du kan nemt installere virtualenv ved hjælp af PIP på din computer med følgende kommando:

$ sudo -H pip3 installer virtualenv

Opret nu et projektkatalog (lad os kalde det pyrest /) med følgende kommando:

$ mkdir pyrest

Opret nu et virtuelt Python-miljø på pyrest / projektmappe med følgende kommando:

$ virtualenv pyrest /

Naviger nu ind i projektmappen med følgende kommando:

$ cd pyrest

Aktiver derefter det virtuelle Python-miljø med følgende kommando:

$ kilde bin / aktivere

Endelig kør følgende kommando for at installere Flask Python-biblioteket:

$ bin / pip3 installer kolbe

Skrivning af dit første kolbe script:

I dette afsnit vil jeg skrive et hej verdensprogram i Python Flask.

Opret først en fil Hej.py i din projektmappe:

$ touch hej.py

Tilføj nu følgende linjer til Hej.py fil og gem den.

I det næste afsnit vil jeg vise dig, hvordan du kører Flask-scripts.

Running Flask Script:

Nu for at starte Hej.py Flaskeserver, kør følgende kommando:

$ bin / python3 hej.py

Som du kan se, er serveren startet http: // 127.0.0.1: 8080.

Nu kan du få adgang til Flask-serveren http: // 127.0.0.1: 8080 fra webbrowseren eller API-testsoftware såsom Postman. Jeg skal bruge CURL.

$ curl http: // 127.0.0.1: 8080

Som du kan se, udskrives det korrekte output på skærmen.

tillykke! Kolben fungerer.

Adgang til data ved hjælp af GET i REST API:

GET-anmodning på REST API bruges til at hente oplysninger fra API-serveren. Du indstiller nogle API-slutpunkter og foretager en GET-anmodning om dette slutpunkt. Det er simpelt.

Opret først en ny fil få.py i din projektmappe med følgende kommando:

$ touch få.py

Tilføj nu følgende linjer i din få.py fil og gem den.

Her på linje 1 viser Kolbe konstruktørfunktion og jsonify funktionen importeres fra flaskemodulet.

På linje 3, a Kolbe objekt oprettes og gemmes på app variabel.

På linje 5 oprettede jeg et Python-array med ordbøger med nogle dummy-data og lagrede det i konti variabel.

På linje 10 definerede jeg API-slutpunktet / konti og anmodningsmetoden, som er .

På linje 11 definerede jeg funktionen getAccounts (). getAccounts () funktion udføres, når en GET-anmodning til / konti slutpunkt er lavet.

Linie 12, som er en del af getAccounts () funktion, konverterede jeg konti vifte af ordbøger til JSON ved hjælp af jsonify () funktion og returnerede den.

På linje 14-15 ringede jeg til app.løb() at fortælle Flask at køre API-serveren på porten 8080.

Kør nu Flask API-serveren med følgende kommando:

$ bin / python3 få.py

Serveren er startet på port 8080.

Lav nu en GET-anmodning til / konti slutpunkt med CURL som følger:

$ curl http: // 127.0.0.1: 8080 / konti

Som du kan se, vises kontodataene som JSON-format på GET-anmodning den / konti slutpunkt.

Du kan også få specifikke kontodata. For at gøre det skal jeg oprette et andet API-slutpunkt /konto/. Her, vil være det ID, kontohaveren. ID'et her er matrixindekset.

Rediger få.py script og tilføj de markerede linjer til det.

Her, på linje 14, definerede jeg API-slutpunktet /konto/ og den metode, der skal anvendes, hvilket er .

På linje 15-17, funktionen getAccount () til API-slutpunktet /konto/ er defineret. Det getAccount () funktion accepterer en id som et argument. Værdien af fra API-slutpunktet er indstillet til id variabel af getAccount () fungere.

På linje 16, id variabel konverteres til et heltal. Jeg udledte også 1 fra id variabel. Fordi matrixindekset starter fra 0. Jeg vil starte konto-id'et fra 1. Så hvis jeg sætter 1 som konto , 1 - 1 = 0, jeg får elementet ved indeks 0 fra arrayet konti.

På linje 17, array ved indeks returneres som JSON.

Resten af ​​koderne er de samme.

Kør nu API-serveren igen.

$ bin / python3 få.py

Jeg anmodede om data for konto 1 og 2 separat, og jeg fik den forventede output, som du kan se fra skærmbilledet nedenfor.

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

Tilføjelse af data ved hjælp af POST i REST API:

Nu skal jeg omdøbe få.py til api.py og tilføj et API-slutpunkt /konto til tilføjelse af nye data.

Omdøb få.py til api.py:

$ mv -v få.py api.py

Først skal du tilføje linjerne (19-26) som markeret i skærmbilledet nedenfor til api.py fil.

Kør nu api.py server:

$ bin / python3 api.py

For at indsætte nye data i /konto slutpunkt, kør følgende kommando:

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

BEMÆRK: Her, '"Navn": "Shovon", "balance": 100' er JSON-inputdata.

Dataene skal indsættes.

Som du kan se, tilføjes de nye data.

Så det er det for denne artikel.  Tak, fordi du læste denne artikel.

Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...