Piton

Izrada REST API-ja u Pythonu

Izrada REST API-ja u Pythonu
REST ili Reprezentativni državni prijenos stil je softverskog razvoja koji se uglavnom koristi u dizajnu API-ja ili sučelja za programiranje aplikacija za izgradnju interaktivnih i modernih web usluga. Također je poznat i kao RESTful web usluga.

Python je moćan programski jezik. Ima mnogo knjižnica za izgradnju REST ili RESTful API-ja. Jedna od popularnih knjižnica za izradu web aplikacija i pisanje REST API-ja je Tikvica.

U ovom članku pokazat ću vam kako stvoriti REST API u Pythonu pomoću Flaska. Započnimo.

Zahtjevi:

Trebao bi imati

Na LinuxHintu biste trebali moći pronaći članke i vodiče o svim tim temama.com

U ovom ću članku koristiti Python 3 na Debian 9 Stretchu. Ako koristite Python 2, morat ćete se malo prilagoditi. Morali biste to sami shvatiti jer će to biti jednostavno poput pisanja piton umjesto python3 i pip umjesto pip3.

Postavljanje virtualnog okruženja:

Pojednostavljeno rečeno, virtualno okruženje koristi se za izoliranje jedne Python aplikacije od druge. Paket Python koji je to radio je virtualenv.

Možete jednostavno instalirati virtualenv pomoću PIP-a na računalu sa sljedećom naredbom:

$ sudo -H pip3 instaliraj virtualenv

Sada izradite direktorij projekta (nazovimo ga pirest /) sa sljedećom naredbom:

$ mkdir pirest

Sada stvorite Python virtualno okruženje na pirest / direktorij projekta sa sljedećom naredbom:

$ virtualenv pyrest /

Sada idite u direktorij projekta pomoću sljedeće naredbe:

$ cd pijerest

Zatim aktivirajte virtualno okruženje Python sljedećom naredbom:

$ source bin / aktiviraj

Na kraju, pokrenite sljedeću naredbu za instalaciju knjižnice Flask Python:

$ bin / pip3 instalacijska tikvica

Pisanje vaše prve skripte za tikvicu:

U ovom ću odjeljku napisati zdravi svjetski program na Python Flasku.

Prvo stvorite datoteku zdravo.py u direktoriju vašeg projekta:

$ dodir zdravo.py

Sada dodajte sljedeće retke u zdravo.py datoteku i spremite je.

U sljedećem odjeljku pokazat ću vam kako pokretati Flask skripte.

Pokretanje skripte tikvice:

Sada za početak zdravo.py Poslužitelj tikvice, pokrenite sljedeću naredbu:

$ bin / python3 pozdrav.py

Kao što vidite, poslužitelj je pokrenut http: // 127.0.0.1: 8080.

Sada možete pristupiti poslužitelju tikvice http: // 127.0.0.1: 8080 iz web preglednika ili softvera za testiranje API-ja poput Postmana. Koristit ću CURL.

$ curl http: // 127.0.0.1: 8080

Kao što vidite, ispis se ispisuje na zaslonu.

Čestitamo! Čutura radi.

Pristup podacima pomoću GET-a u REST API-ju:

GET zahtjev za REST API koristi se za dohvaćanje podataka s API poslužitelja. Postavljate neke API krajnje točke i na toj završnoj točki podnosite GET zahtjev. Jednostavno je.

Prvo stvorite novu datoteku dobiti.py u vašem direktoriju projekta sljedećom naredbom:

$ dodir dobiti.py

Sada dodajte sljedeće retke u svoj dobiti.py datoteku i spremite je.

Ovdje, u retku 1, Tikvica funkcija konstruktora i jsonificirati funkcija se uvozi iz modula tikvice.

Na liniji 3, a Tikvica objekt je stvoren i pohranjen na app varijabilna.

U retku 5 stvorio sam Python niz rječnika nekih lažnih podataka i spremio ih u računi varijabilna.

U retku 10 definirao sam krajnju točku API-ja / računi i metoda zahtjeva koja je DOBITI.

U retku 11 definirao sam funkciju getAccounts (). getAccounts () funkcija će se izvršiti kada GET zahtjev za / računi napravljena je krajnja točka.

Redak 12, koji je dio getAccounts () funkciju, pretvorio sam računi niz rječnika za JSON pomoću jsonify () funkciju i vratio je.

Na liniji 14-15 nazvao sam app.trčanje() da kaže Flasku da pokrene API poslužitelj na priključku 8080.

Sada pokrenite Flask API poslužitelj sa sljedećom naredbom:

$ bin / python3 dobiti.py

Poslužitelj je započeo na priključku 8080.

Sada podnesite GET zahtjev za / računi krajnja točka s CURL kako slijedi:

$ curl http: // 127.0.0.1: 8080 / računi

Kao što vidite, podaci o računima prikazuju se u JSON formatu na GET zahtjev / računi krajnja točka.

Također možete dobiti određene podatke o računu. Da bih to učinio, stvorit ću drugu API krajnju točku /račun/. Ovdje, bit će ID vlasnika računa. Ovdje je ID indeks niza.

Uredite dobiti.py skriptu i dodajte joj označene retke.

Ovdje sam u retku 14 definirao API krajnju točku /račun/ i metoda koja će se koristiti, koja je DOBITI.

Na liniji 15-17, funkcija getAccount () za krajnju točku API-ja /račun/ je definirano. The getAccount () funkcija prihvaća a iskaznica kao argument. Vrijednost iz API krajnje točke postavljeno je na iskaznica varijabla od getAccount () funkcija.

Na liniji 16, iskaznica varijabla se pretvara u cijeli broj. Također sam zaključio 1 iz iskaznica varijabilna. Budući da indeks niza počinje od 0. Želim započeti ID računa od 1. Pa ako stavim 1 kao račun , 1 - 1 = 0, dobit ću element s indeksom 0 iz polja računi.

Na liniji 17, niz s indeksom vraća se kao JSON.

Ostali kodovi su isti.

Sada ponovo pokrenite API poslužitelj.

$ bin / python3 dobiti.py

Podatke za račune 1 i 2 zatražio sam odvojeno i dobio sam očekivani izlaz, kao što možete vidjeti sa snimke zaslona u nastavku.

$ curl http: // 127.0.0.1: 8080 / račun / 1
$ curl http: // 127.0.0.1: 8080 / račun / 2

Dodavanje podataka pomoću POST-a u REST API:

Sad ću preimenovati dobiti.py do api.py i dodajte API krajnju točku /račun za dodavanje novih podataka.

Preimenovati dobiti.py do api.py:

$ mv -v dobiti.py api.py

Prvo dodajte retke (19-26) kako je označeno na snimci zaslona u nastavku na api.py datoteka.

Sada pokrenite api.py poslužitelj:

$ bin / python3 api.py

Za umetanje novih podataka u /račun krajnja točka, pokrenite sljedeću naredbu:

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

BILJEŠKA: Ovdje, '"Ime": "Shovon", "stanje": 100' je JSON ulazni podatak.

Treba umetnuti podatke.

Kao što vidite, dodani su novi podaci.

To je to za ovaj članak.  Hvala što ste pročitali ovaj članak.

Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...