Python

Opprette REST API i Python

Opprette REST API i Python
REST eller Representational State Transfer er en programvareutviklingsstil som hovedsakelig brukes i API eller Application Programming Interface design for å bygge interaktive og moderne webtjenester. Det er også kjent som RESTful web service.

Python er et kraftig programmeringsspråk. Den har mange biblioteker for å bygge REST eller RESTful APIer. Et av det populære biblioteket for å bygge webapper og skrive REST APIer er Kolbe.

I denne artikkelen vil jeg vise deg hvordan du oppretter REST API i Python ved hjelp av Flask. La oss komme i gang.

Krav:

Du burde ha

Du bør kunne finne artikler og veiledninger om alle disse emnene på LinuxHint.com

Jeg vil bruke Python 3 på Debian 9 Stretch i denne artikkelen. Hvis du bruker Python 2, må du justere litt. Du bør være i stand til å finne ut av det selv, da det vil være enkelt som å skrive python i stedet for python3 og pip i stedet for pip3.

Sette opp virtuelt miljø:

For å si det enkelt, brukes virtuelt miljø for å isolere en Python-app fra en annen. Python-pakken som brukes til å gjøre det er virtualenv.

Du kan enkelt installere virtualenv bruker PIP på datamaskinen din med følgende kommando:

$ sudo -H pip3 installer virtualenv

Opprett nå en prosjektkatalog (la oss kalle det pyrest /) med følgende kommando:

$ mkdir pyrest

Opprett nå et virtuelt Python-miljø på pyrest / prosjektkatalog med følgende kommando:

$ virtualenv pyrest /

Gå nå inn i prosjektkatalogen med følgende kommando:

$ cd pyrest

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

$ kildekasse / aktivere

Til slutt, kjør følgende kommando for å installere Flask Python-biblioteket:

$ bin / pip3 installer kolbe

Skrive ditt første flaskeskript:

I denne delen vil jeg skrive et hei-verdensprogram i Python Flask.

Først oppretter du en fil Hallo.py i prosjektkatalogen din:

$ touch hei.py

Legg nå til følgende linjer til Hallo.py filen og lagre den.

I neste avsnitt vil jeg vise deg hvordan du kjører Flask-skript.

Kjører Flask Script:

Nå for å starte Hallo.py Flaskeserver, kjør følgende kommando:

$ bin / python3 hei.py

Som du ser, har serveren startet på http: // 127.0.0.1: 8080.

Nå kan du få tilgang til Flask-serveren http: // 127.0.0.1: 8080 fra nettleseren eller API-testing av programvare som Postman. Jeg skal bruke CURL.

$ curl http: // 127.0.0.1: 8080

Som du ser, blir riktig utskrift skrevet ut på skjermen.

Gratulerer! Kolbe fungerer.

Tilgang til data ved hjelp av GET i REST API:

GET-forespørsel på REST API brukes til å hente informasjon fra API-serveren. Du setter noen API-endepunkter og gjør en GET-forespørsel om det sluttpunktet. Det er enkelt.

Først oppretter du en ny fil få.py i prosjektkatalogen din med følgende kommando:

$ touch få.py

Legg nå til følgende linjer i din få.py filen og lagre den.

Her, på linje 1, Kolbe konstruktørfunksjon og jsonify funksjonen importeres fra flaskemodulen.

På linje 3, a Kolbe objektet blir opprettet og lagret på app variabel.

På linje 5 opprettet jeg et Python-utvalg av ordbøker med noen dummy-data og lagret det i kontoer variabel.

På linje 10 definerte jeg API-endepunktet / kontoer og forespørselsmetoden, som er .

På linje 11 definerte jeg funksjonen getAccounts (). getAccounts () funksjonen vil utføres når en GET-forespørsel til / kontoer endepunkt er laget.

Linje 12, som er en del av getAccounts () funksjon, konverterte jeg kontoer rekke ordbøker til JSON ved hjelp av jsonify () funksjon og returnerte den.

På linje 14-15 ringte jeg app.løpe() å fortelle Flask å kjøre API-serveren på port 8080.

Kjør nå Flask API-serveren med følgende kommando:

$ bin / python3 få.py

Serveren har startet på port 8080.

Lag nå en GET-forespørsel til / kontoer endepunkt med CURL som følger:

$ curl http: // 127.0.0.1: 8080 / kontoer

Som du kan se, vises kontodataene som JSON-format på GET-forespørsel den / kontoer endepunkt.

Du kan også få spesifikke kontodata også. For å gjøre det, skal jeg opprette et annet API-endepunkt /regnskap/. Her, vil være ID-en som kontoinnehaveren. IDen her er indeksen til matrisen.

Rediger få.py skript og legg til de merkede linjene.

Her, på linje 14, definerte jeg API-endepunktet /regnskap/ og metoden som skal brukes, som er .

På linje 15-17, funksjonen getAccount () for API-endepunktet /regnskap/ er definert. De getAccount () funksjon aksepterer a id som argument. Verdien av fra API-endepunktet er satt til id variabel av getAccount () funksjon.

På linje 16, id variabel konverteres til et helt tall. Jeg trakk også 1 fra id variabel. Fordi matriseindeksen starter fra 0. Jeg vil starte konto-ID fra 1. Så hvis jeg setter 1 som konto , 1 - 1 = 0, jeg får elementet ved indeks 0 fra matrisen kontoer.

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

Resten av kodene er de samme.

Kjør nå API-serveren igjen.

$ bin / python3 få.py

Jeg ba om data for konto 1 og 2 hver for seg, og jeg fikk forventet produksjon som du kan se fra skjermbildet nedenfor.

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

Legge til data ved hjelp av POST i REST API:

Nå skal jeg gi nytt navn få.py til api.py og legg til et API-endepunkt /regnskap for å legge til nye data.

Gi nytt navn få.py til api.py:

$ mv -v få.py api.py

Først legger du til linjene (19-26) som markert i skjermbildet nedenfor til api.py fil.

Kjør nå api.py server:

$ bin / python3 api.py

Å sette inn nye data i /regnskap sluttpunkt, kjør følgende kommando:

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

MERK: Her, '“Name”: “Shovon”, “balance”: 100' er JSON-inngangsdata.

Dataene skal settes inn.

Som du kan se, blir de nye dataene lagt til.

Så det er det for denne artikkelen.  Takk for at du leser denne artikkelen.

Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...
Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...