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
- Python 2 nebo Python 3 nainstalovaný ve vašem počítači.
- Ve vašem počítači je nainstalován PIP nebo PIP3.
- Základní znalosti programovacího jazyka Python.
- Základní porozumění provádění příkazů v prostředí shellu.
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 virtualenvNyní vytvořte adresář projektu (řekněme tomu pyrest /) s následujícím příkazem:
$ mkdir pyrestNyní 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 pyrestPoté aktivujte virtuální prostředí Pythonu pomocí následujícího příkazu:
$ zdrojový koš / aktivovatNakonec spusťte následující příkaz a nainstalujte knihovnu Flask Python:
Instalační baňka $ bin / pip3Psaní 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.pyNyní 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.pyJak 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: 8080Jak 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.pyNyní 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.pyServer 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 / účtyJak 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/
Upravte dostat.py skript a přidejte k němu označené řádky.
Tady na řádku 14 jsem definoval koncový bod API /účet/
Na řádku 15-17 funkce getAccount () pro koncový bod API /účet/
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
Na řádku 17 pole v indexu
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.pyNejprve 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.