Opprette REST API i Python

Opprette REST API i Python
Rest eller Representational State Transfer er en programvareutviklingsstil som hovedsakelig brukes i API- eller applikasjonsprogrammeringsgrensesnittdesign 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 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.

Krav:

Du burde ha

  • Python 2 eller Python 3 installert på datamaskinen din.
  • PIP eller PIP3 installert på datamaskinen din.
  • Den grunnleggende forståelsen av Python -programmeringsspråk.
  • Den grunnleggende forståelsen av å utføre kommandoer i skallet.

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 virtualenv

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

$ mkdir pyrest

Nå lage et python virtuelt miljø på Pyrest/ Prosjektkatalog med følgende kommando:

$ virtualenv pyrest/

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

$ CD Pyrest

Aktiver deretter det virtuelle python med følgende kommando:

$ Source Bin/Aktiver

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

Legg 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.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 -tester programvare som Postman. Jeg skal bruke Curl.

$ krøll http: // 127.0.0.1: 8080

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

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

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

Serveren 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/kontoer

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

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

$ krøll http: // 127.0.0.1: 8080/konto/1
$ krøll http: // 127.0.0.1: 8080/konto/2

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

Fø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'
http: // 127.0.0.1: 8080/konto

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.