Python je zmogljiv programski jezik. Ima veliko knjižnic za izdelavo API-jev REST ali RESTful. Ena izmed priljubljenih knjižnic za izdelavo spletnih aplikacij in pisanje REST API-jev je Bučka.
V tem članku vam bom pokazal, kako ustvarite REST API v Pythonu s pomočjo Flask. Začnimo.
Zahteve:
Moral bi
- Python 2 ali Python 3, nameščen v vašem računalniku.
- PIP ali PIP3, nameščena v računalniku.
- Osnovno razumevanje programskega jezika Python.
- Osnovno razumevanje izvrševanja ukazov v lupini.
V LinuxHintu bi lahko našli članke in vadnice o vseh teh temah.com
V tem članku bom uporabljal Python 3 v programu Debian 9 Stretch. Če uporabljate Python 2, se boste morali nekoliko prilagoditi. To bi morali sami ugotoviti, saj bo preprosto kot pisanje python namesto python3 in pip namesto pip3.
Nastavitev navideznega okolja:
Poenostavljeno povedano, navidezno okolje se uporablja za izolacijo ene aplikacije Python od druge. Paket Python, ki je nekoč to počel, je virtualenv.
Lahko preprosto namestite virtualenv z uporabo PIP v računalniku z naslednjim ukazom:
$ sudo -H pip3 namesti virtualenvZdaj ustvarite imenik projekta (recimo temu pyrest /) z naslednjim ukazom:
$ mkdir pirestZdaj ustvarite navidezno okolje Python na piresta / imenik projekta z naslednjim ukazom:
$ virtualenv pyrest /Zdaj se pomaknite v imenik projekta z naslednjim ukazom:
$ cd pirestNato aktivirajte navidezno okolje Python z naslednjim ukazom:
$ source bin / aktivirajNa koncu zaženite naslednji ukaz, da namestite knjižnico Flask Python:
$ bin / pip3 namestitvena bučkaPisanje prvega scenarija za bučko:
V tem poglavju bom napisal program hello world v jeziku Python Flask.
Najprej ustvarite datoteko zdravo.py v imeniku vašega projekta:
$ touch zdravo.pyZdaj dodajte naslednje vrstice v zdravo.py datoteko in jo shranite.
V naslednjem razdelku vam bom pokazal, kako zagnati skripte Flask.
Running Flask Script:
Zdaj za začetek zdravo.py Strežnik bučke zaženite naslednji ukaz:
$ bin / python3 pozdravljeni.pyKot lahko vidite, se je strežnik začel http: // 127.0.0.1: 8080.
Zdaj lahko dostopate do strežnika Flask http: // 127.0.0.1: 8080 iz spletnega brskalnika ali programske opreme za testiranje API-jev, kot je Postman. Uporabil bom CURL.
$ curl http: // 127.0.0.1: 8080Kot vidite, se na zaslon natisne pravi izhod.
čestitke! Bučka deluje.
Dostop do podatkov z uporabo GET v REST API:
Zahteva GET za API REST se uporablja za pridobivanje informacij s strežnika API. Nastavite nekaj končnih točk API in na tej končni točki naredite zahtevo GET. Preprosto je.
Najprej ustvarite novo datoteko dobili.py v imeniku projekta z naslednjim ukazom:
$ touch get.pyZdaj dodajte naslednje vrstice v svoj dobili.py datoteko in jo shranite.
Tukaj, v vrstici 1, Bučka konstruktorska funkcija in jsonify funkcija je uvožena iz modula bučke.
V vrstici 3, a Bučka objekt je ustvarjen in shranjen v app spremenljivka.
V vrstici 5 sem ustvaril vrsto slovarjev nekaterih navideznih podatkov Python in jih shranil v računov spremenljivka.
V 10. vrstici sem definiral končno točko API / računi in način zahteve, ki je GET.
V vrstici 11 sem definiral funkcijo getAccounts (). getAccounts () funkcija se bo izvedla, ko bo GET zahteval / računi končna točka.
Vrstica 12, ki je del getAccounts () funkcijo, sem pretvoril računov vrsta slovarjev v JSON jsonify () funkcijo in jo vrnil.
Na liniji 14-15 sem poklical app.teči () povedati Flasku, naj strežnik API zažene na vratih 8080.
Zdaj zaženite strežnik API Flask z naslednjim ukazom:
$ bin / python3 dobite.pyStrežnik se je zagnal na vratih 8080.
Zdaj podajte zahtevo GET za / računi končna točka s CURL, kot sledi:
$ curl http: // 127.0.0.1: 8080 / računiKot lahko vidite, se podatki o računih prikažejo v obliki JSON na zahtevo GET dne / računi končna točka.
Prav tako lahko dobite določene podatke o računu. Da bi to naredil, bom ustvaril še eno končno točko API /račun/
Uredite dobili.py skriptu in mu dodajte označene vrstice.
Tu sem v vrstici 14 definiral končno točko API /račun/
V vrstici 15-17, funkcija getAccount () za končno točko API /račun/
V vrstici 16 je id spremenljivka se pretvori v celo število. 1 sem tudi razbral iz id spremenljivka. Ker se indeks matrike začne od 0. ID računa želim začeti od 1. Torej, če dam 1 kot račun
V vrstici 17 je matrika v indeksu
Preostale kode so enake.
Zdaj znova zaženite strežnik API.
$ bin / python3 dobite.py
Ločeno sem zahteval podatke za račun 1 in 2 in dobil sem pričakovane rezultate, kot lahko vidite na spodnjem posnetku zaslona.
$ curl http: // 127.0.0.1: 8080 / račun / 1$ curl http: // 127.0.0.1: 8080 / račun / 2
Dodajanje podatkov s pomočjo POST v REST API:
Zdaj bom preimenoval dobili.py do api.py in dodajte končno točko API /račun za dodajanje novih podatkov.
Preimenuj dobili.py do api.py:
$ mv -v dobite.py api.pyNajprej v vrstico dodajte vrstice (19-26), kot je označeno na spodnjem posnetku zaslona api.py mapa.
Zdaj zaženite api.py strežnik:
$ bin / python3 api.py
Če želite vstaviti nove podatke v /račun končna točka, zaženite naslednji ukaz:
$ curl -X POST -H "Content-Type: application / json" -d '"name": "Shovon", "balance": 100'http: // 127.0.0.1: 8080 / račun
OPOMBA: Tukaj, '“Ime”: “Shovon”, “stanje”: 100' so vhodni podatki JSON.
Podatke je treba vstaviti.
Kot lahko vidite, so novi podatki dodani.
Tako je za ta članek. Hvala, ker ste prebrali ta članek.