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
- Python 2 eller Python 3 installert på datamaskinen din.
- PIP eller PIP3 installert på datamaskinen.
- Den grunnleggende forståelsen av Python programmeringsspråk.
- Den grunnleggende forståelsen av å utføre kommandoer i skallet.
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 virtualenvOpprett nå en prosjektkatalog (la oss kalle det pyrest /) med følgende kommando:
$ mkdir pyrestOpprett nå et virtuelt Python-miljø på pyrest / prosjektkatalog med følgende kommando:
$ virtualenv pyrest /Gå nå inn i prosjektkatalogen med følgende kommando:
$ cd pyrestAktiver deretter det virtuelle Python-miljøet med følgende kommando:
$ kildekasse / aktivereTil slutt, kjør følgende kommando for å installere Flask Python-biblioteket:
$ bin / pip3 installer kolbeSkrive 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.pyLegg 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.pySom 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: 8080Som 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å.pyLegg 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 FÅ.
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å.pyServeren 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 / kontoerSom 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/
Rediger få.py skript og legg til de merkede linjene.
Her, på linje 14, definerte jeg API-endepunktet /regnskap/
På linje 15-17, funksjonen getAccount () for API-endepunktet /regnskap/
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
På linje 17, matrisen ved indeks
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.pyFø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.