Krajta

Vytváření REST API v Pythonu

Vytváření REST API v Pythonu
REST nebo Representational State Transfer je styl vývoje softwaru používaný hlavně při návrhu API nebo aplikačního programovacího rozhraní k vytváření interaktivních a moderních webových služeb. Je také známá jako webová služba RESTful.

Python je výkonný programovací jazyk. Má mnoho knihoven pro vytváření REST nebo RESTful API. Jednou z populárních knihoven pro vytváření webových aplikací a psaní rozhraní REST API je Baňka.

V tomto článku vám ukážu, jak vytvořit REST API v Pythonu pomocí baňky. Začněme.

Požadavky:

Měl bys mít

Měli byste být schopni najít články a návody ke všem těmto tématům na LinuxHint.com

V tomto článku budu používat Python 3 na Debian 9 Stretch. Pokud používáte Python 2, budete se muset trochu přizpůsobit. Měli byste být schopni na to přijít sami, protože to bude jednoduché jako psaní krajta namísto python3 a pip namísto pip3.

Nastavení virtuálního prostředí:

Jednoduše řečeno, virtuální prostředí se používá k izolaci jedné aplikace Pythonu od jiné. Balíček Pythonu, který se k tomu používá, je virtuální.

Můžete snadno nainstalovat virtuální pomocí PIP v počítači pomocí následujícího příkazu:

$ sudo -H pip3 install virtualenv

Nyní vytvořte adresář projektu (řekněme tomu pyrest /) s následujícím příkazem:

$ mkdir pyrest

Nyní vytvořte virtuální prostředí Pythonu na pyrest / adresář projektu s následujícím příkazem:

$ virtualenv pyrest /

Nyní přejděte do adresáře projektu pomocí následujícího příkazu:

$ cd pyrest

Poté aktivujte virtuální prostředí Pythonu pomocí následujícího příkazu:

$ zdrojový koš / aktivovat

Nakonec spusťte následující příkaz a nainstalujte knihovnu Flask Python:

Instalační baňka $ bin / pip3

Psaní prvního skriptu baňky:

V této části napíšu program Hello World v Python Flask.

Nejprve vytvořte soubor Ahoj.py ve vašem adresáři projektu:

$ touch ahoj.py

Nyní přidejte následující řádky do Ahoj.py soubor a uložte jej.

V další části vám ukážu, jak spustit skripty baňky.

Spuštění skriptu Flask:

Nyní ke spuštění Ahoj.py Flask server, spusťte následující příkaz:

$ bin / python3 ahoj.py

Jak vidíte, server byl spuštěn dne http: // 127.0.0.1: 8080.

Nyní máte přístup k serveru Flask http: // 127.0.0.1: 8080 z webového prohlížeče nebo softwaru pro testování API, jako je Postman. Budu používat CURL.

$ curl http: // 127.0.0.1: 8080

Jak vidíte, na obrazovku se vytiskne správný výstup.

gratuluji! Baňka funguje.

Přístup k datům pomocí GET v REST API:

Požadavek GET na REST API se používá k načtení informací ze serveru API. Nastavíte některé koncové body API a uděláte požadavek GET v tomto koncovém bodě. Je to jednoduché.

Nejprve vytvořte nový soubor dostat.py v adresáři projektu pomocí následujícího příkazu:

$ dotek dostat.py

Nyní přidejte následující řádky do svého dostat.py soubor a uložte jej.

Tady, na řádku 1, Baňka funkce konstruktoru a jsonify funkce je importována z baňkového modulu.

Na lince 3, a Baňka objekt je vytvořen a uložen na aplikace proměnná.

Na řádku 5 jsem vytvořil pole Pythonu slovníků některých fiktivních dat a uložil je do účty proměnná.

Na řádku 10 jsem definoval koncový bod API / účty a metoda požadavku, která je DOSTAT.

Na řádku 11 jsem definoval funkci getAccounts (). getAccounts () funkce se spustí, když GET požadavek na / účty koncový bod je vytvořen.

Řádek 12, který je součástí getAccounts () funkce, převedl jsem účty pole slovníků pomocí JSON jsonify () funkce a vrátil ji.

Na lince 14-15 jsem zavolal na aplikace.běh() říct Flaskovi, aby spustil server API na portu 8080.

Nyní spusťte server Flask API pomocí následujícího příkazu:

$ bin / python3 get.py

Server byl spuštěn na portu 8080.

Nyní odešlete požadavek GET na / účty koncový bod s CURL takto:

$ curl http: // 127.0.0.1: 8080 / účty

Jak vidíte, data účtů se na žádost GET zobrazují jako formát JSON / účty koncový bod.

Můžete také získat konkrétní údaje o účtu. K tomu vytvořím další koncový bod API /účet/. Tady, bude ID držitele účtu. ID je index pole.

Upravte dostat.py skript a přidejte k němu označené řádky.

Tady na řádku 14 jsem definoval koncový bod API /účet/ a způsob, který má být použit, což je DOSTAT.

Na řádku 15-17 funkce getAccount () pro koncový bod API /účet/ je definováno. The getAccount () funkce přijímá a id jako argument. Hodnota z koncového bodu API je nastavena na id proměnná getAccount () funkce.

Na lince 16 id proměnná se převede na celé číslo. Také jsem odvodil 1 z id proměnná. Protože index pole začíná od 0. Chci spustit ID účtu od 1. Pokud tedy jako účet uvedu 1 , 1 - 1 = 0, získám prvek v indexu 0 z pole účty.

Na řádku 17 pole v indexu je vrácen jako JSON.

Zbytek kódů je stejný.

Nyní znovu spusťte server API.

$ bin / python3 get.py

Požadoval jsem údaje pro účet 1 a 2 samostatně a dostal jsem očekávaný výstup, jak vidíte na následujícím obrázku.

$ curl http: // 127.0.0.1: 8080 / účet / 1
$ curl http: // 127.0.0.1: 8080 / účet / 2

Přidání dat pomocí POST v REST API:

Teď se přejmenuji dostat.py na api.py a přidat koncový bod API /účet pro přidání nových dat.

Přejmenovat dostat.py na api.py:

$ mv -v dostat.py api.py

Nejprve přidejte řádky (19-26), jak jsou vyznačeny na snímku obrazovky níže, do api.py soubor.

Nyní spusťte api.py server:

$ bin / python3 api.py

Chcete-li vložit nová data do /účet endpoint, spusťte následující příkaz:

$ curl -X POST -H "Content-Type: application / json" -d '"name": "Shovon", "zůstatek": 100'
http: // 127.0.0.1: 8080 / účet

POZNÁMKA: Tady, „„ Name “:„ Shovon “,„ balance “: 100 ' jsou vstupní data JSON.

Data by měla být vložena.

Jak vidíte, nová data jsou přidána.

Takže to je pro tento článek vše.  Děkujeme za přečtení tohoto článku.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...