Python er et kraftig programmeringsspråk. Den har mange biblioteker for å bygge hvile eller avslappende APIer. Et av det populære biblioteket for å bygge nettapper 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.
Du burde ha
Du skal kunne finne artikler og opplæringsprogrammer om alle disse emnene på Linuxhint.com
Jeg vil bruke Python 3 på Debian 9 Strekk i denne artikkelen. Hvis du bruker Python 2, må du justere litt. Du skal kunne 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 virtuelle miljø:
For å si det enkelt, brukes virtuelle miljø til å isolere en Python -app fra en annen. Python -pakken pleide å gjøre det er Virtualenv.
Du kan enkelt installere Virtualenv Bruker PIP på datamaskinen din med følgende kommando:
$ sudo -h pip3 installer virtualenvLag nå en prosjektkatalog (la oss kalle det Pyrest/) med følgende kommando:
$ mkdir pyrestNå lage et python virtuelt miljø på Pyrest/ Prosjektkatalog med følgende kommando:
$ virtualenv pyrest/Naviger nå inn i prosjektkatalogen med følgende kommando:
$ CD PyrestAktiver deretter det virtuelle python med følgende kommando:
$ Source Bin/AktiverTil slutt, kjør følgende kommando for å installere Flask Python Library:
$ bin/pip3 installer kolbeÅ skrive ditt første kolbeskript:
I denne delen vil jeg skrive et Hello World -program i Python Flask.
Først må du opprette en fil Hallo.py I prosjektkatalogen din:
$ Touch Hei.pyLegg nå følgende linjer til Hallo.py fil og lagre den.
I neste avsnitt vil jeg vise deg hvordan du kjører kolbeskript.
Kjørende kolbe -skript:
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 -tester programvare som Postman. Jeg skal bruke Curl.
$ krøll http: // 127.0.0.1: 8080Som du kan se, er riktig utdata skrevet ut på skjermen.
Gratulerer! Kolbe fungerer.
Få tilgang til data ved hjelp av Get in REST API:
Få forespørsel på REST API brukes til å hente informasjon fra API -serveren. Du setter noen API -endepunkter og gjør en Få forespørsel om det sluttpunktet. Det er enkelt.
Opprett først en ny fil få.py I prosjektkatalogen din med følgende kommando:
$ Touch Get.pyLegg nå til følgende linjer i din få.py fil og lagre den.
Her, på linje 1, Kolbe Konstruktørfunksjon og jsonify Funksjonen importeres fra Flaskemodulen.
På linje 3, a Kolbe objekt opprettes og lagres på app variabel.
På linje 5 opprettet jeg et python -utvalg av ordbøker av noen dummy -data og lagret den 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 () funksjon vil utføre når en få forespørsel til /kontoer endepunkt er laget.
Linje 12, som er en del av GetAccounts () funksjon, jeg konverterte 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.
Nå kan du få en forespørsel til /kontoer Endepunkt med Curl som følger:
$ krøll http: // 127.0.0.1: 8080/kontoerSom du kan se, vises regnskapsdataene som JSON -format på Få forespørsel på /kontoer endepunkt.
Du kan også få spesifikke kontodata også. For å gjøre det, skal jeg lage et annet API -endepunkt /regnskap/. Her, vil være ID -en kontoinnehaveren. IDen her er indeksen for matrisen.
Rediger få.py manus og legg til de markerte linjene i det.
Her, på linje 14, definerte jeg API -endepunktet /regnskap/ og metoden som skal brukes, som er FÅ.
På linje 15-17, funksjonen GetAccount () for API -endepunktet /regnskap/ er definert. De GetAccount () Funksjon godtar en id som et argument. Verdien av fra API -endepunktet er satt til id variabel av GetAccount () funksjon.
På linje 16, den id Variabel konverteres til et heltall. Jeg tegnet også 1 fra id variabel. Fordi matrisindeksen starter fra 0. Jeg vil starte konto -IDen fra 1. Så hvis jeg legger 1 som konto , 1 - 1 = 0, jeg får elementet på indeks 0 fra matrisen kontoer.
På linje 17, matrisen til indeksen blir returnert som JSON.
Resten av kodene er de samme.
Kjør nå API -serveren igjen.
$ bin/python3 få.pyJeg ba om data for konto 1 og 2 hver for seg, og jeg fikk forventet produksjon som du kan se fra skjermbildet nedenfor.
$ krøll http: // 127.0.0.1: 8080/konto/1Legge til data ved å bruke 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, legg til linjene (19-26) som merket i skjermdumpen nedenfor til api.py fil.
Kjør nå api.py server:
$ bin/python3 api.pyÅ sette inn nye data i /regnskap endepunkt, kjør følgende kommando:
$ Curl -x Post -h "Content -Type: Application/Json" -D '"Navn": "Shovon", "Balanse": 100'MERK: Her, '“Navn”: “Shovon”, “Balanse”: 100' er JSON -inngangsdataene.
Dataene bør settes inn.
Som du kan se, blir de nye dataene lagt til.
Så det er det for denne artikkelen. Takk for at du leste denne artikkelen.