Tworzenie API REST w Pythonie

Tworzenie API REST w Pythonie
REST lub reprezentacyjne przesyłanie stanu to styl programowania używany głównie w interfejsie interfejsu API lub programowania aplikacji do budowania interaktywnych i nowoczesnych usług internetowych. Jest również znany jako RESTful Web Service.

Python to potężny język programowania. Ma wiele bibliotek do budowania odpoczynku lub odpoczynku API. Jedną z popularnych biblioteki do budowania aplikacji internetowych i pisania interfejsów API REST jest Kolba.

W tym artykule pokażę, jak utworzyć API REST w Python za pomocą kolby. Zacznijmy.

Wymagania:

Powinieneś mieć

  • Python 2 lub Python 3 zainstalowane na komputerze.
  • PIP lub PIP3 zainstalowane na komputerze.
  • Podstawowe zrozumienie języka programowania Pythona.
  • Podstawowe zrozumienie wykonywania poleceń w skorupce.

Powinieneś być w stanie znaleźć artykuły i samouczki na wszystkie te tematy na Linuxhint.com

W tym artykule będę używać Pythona 3 na debian 9. Jeśli używasz Python 2, będziesz musiał trochę dostosować. Powinieneś być w stanie to wymyślić, ponieważ będzie to proste jako pisanie pyton zamiast Python3 I pypeć zamiast PIP3.

Konfigurowanie środowiska wirtualnego:

Mówiąc prosto, wirtualne środowisko służy do izolacji jednej aplikacji Python od drugiej. Pakiet Python to zrobił Virtualenv.

Możesz łatwo zainstalować Virtualenv Korzystanie z PIP na komputerze z następującym poleceniem:

$ sudo -h pip3 instaluj Virtualenv

Teraz utwórz katalog projektu (nazwijmy to pirest/) Z następującym poleceniem:

$ mkdir pirerest

Teraz stwórz wirtualne środowisko Python na pirest/ Katalog projektu z następującym poleceniem:

$ Virtualenv Pyrest/

Teraz przejdź do katalogu projektu z następującym poleceniem:

$ CD PYREST

Następnie aktywuj wirtualne środowisko Python za pomocą następującego polecenia:

$ Source Bin/Aktywuj

Na koniec uruchom następujące polecenie, aby zainstalować bibliotekę Flask Python:

$ bin/pip3 instaluj kolbę

Pisanie pierwszego skryptu Flask:

W tej sekcji napiszę program Hello World w Python Flask.

Najpierw utwórz plik Witam.py W katalogu projektu:

$ Touch Hello.py

Teraz dodaj następujące wiersze do Witam.py Plik i zapisz.

W następnej sekcji pokażę ci, jak uruchomić scenariusze kolby.

Uruchamianie skryptu kolby:

Teraz rozpocząć Witam.py Serwer Flask, uruchom następujące polecenie:

$ bin/python3 hello.py

Jak widać, serwer zaczął http: // 127.0.0.1: 8080.

Teraz możesz uzyskać dostęp do serwera Flask http: // 127.0.0.1: 8080 z przeglądarki internetowej lub programów testowych API, takich jak listonosz. Zamierzam użyć curl.

$ curl http: // 127.0.0.1: 8080

Jak widać, na ekranie wydrukowane jest prawidłowe wyjście.

gratulacje! Flask działa.

Dostęp do danych za pomocą API Get In REST:

Pobierz żądanie w interfejsie API REST służy do pobierania informacji z serwera API. Ustawiasz punkty końcowe API i wykonujesz żądanie GET w tym punkcie końcowym. To proste.

Najpierw utwórz nowy plik Dostawać.py W katalogu projektu z następującym poleceniem:

$ touch get.py

Teraz dodaj następujące wiersze w swoim Dostawać.py Plik i zapisz.

Tutaj, on linia 1, Kolba funkcja konstruktora i JSonify Funkcja jest importowana z modułu kolby.

On line 3, A Kolba Obiekt jest tworzony i przechowywany na App zmienny.

On line 5 stworzyłem Python szeregu słowników niektórych manekinów i zapisałem je w Konta zmienny.

W linii 10 zdefiniowałem punkt końcowy API /Konta i metoda żądania, która jest DOSTAWAĆ.

On line 11 zdefiniowałem funkcję getAccounts (). getAccounts () funkcja zostanie wykonana, gdy żądanie GET do /Konta Punkt końcowy jest wykonany.

Linia 12, która jest częścią getAccounts () funkcja, przekonwertowałem Konta szereg słowników do JSON za pomocą jsonify () funkcja i zwróciła ją.

W linii 14-15 zadzwoniłem App.uruchomić() Aby powiedzieć Flex, aby uruchomił serwer API na porcie 8080.

Teraz uruchom serwer API Flask z następującym poleceniem:

$ bin/python3 get.py

Serwer rozpoczął się w porcie 8080.

Teraz zrób prośbę o get do /Konta punkt końcowy z curl w następujący sposób:

$ curl http: // 127.0.0.1: 8080/konta

Jak widać, dane kont są wyświetlane jako format JSON na żądanie GET /Konta punkt końcowy.

Możesz także uzyskać określone dane dotyczące konta. Aby to zrobić, zamierzam stworzyć inny punkt końcowy API /konto/. Tutaj, będzie identyfikatorem posiadacza konta. Identyfikator tutaj jest indeksem tablicy.

Edytuj Dostawać.py skryptu i dodaj do niego oznaczone linie.

Tutaj, w linii 14, zdefiniowałem punkt końcowy API /konto/ i zastosowanie metody, czyli DOSTAWAĆ.

On line 15-17, funkcja getAccount () dla punktu końcowego API /konto/ definiuje. getAccount () Funkcja akceptuje ID jako argument. Wartość Z punktu końcowego API jest ustawiony na ID zmienna getAccount () funkcjonować.

On line 16, ID Zmienna jest konwertowana na liczbę całkowitą. Wywniosłem również 1 z ID zmienny. Ponieważ indeks tablicy zaczyna się od 0. Chcę rozpocząć identyfikator konta od 1. Więc jeśli umieszczę 1 jako konto , 1 - 1 = 0, dostanę element na indeksie 0 z tablicy Konta.

On linia 17, tablica na indeksie zwracany jako JSON.

Reszta kodów jest taka sama.

Teraz ponownie uruchom serwer API.

$ bin/python3 get.py

Poprosiłem o dane dotyczące konta 1 i 2 osobno i otrzymałem oczekiwane dane wyjściowe, jak widać na zrzucie ekranu poniżej.

$ curl http: // 127.0.0.1: 8080/konto/1
$ curl http: // 127.0.0.1: 8080/konto/2

Dodawanie danych za pomocą postu w API REST:

Teraz zamierzam zmienić nazwę Dostawać.py Do API.py i dodaj punkt końcowy API /konto do dodawania nowych danych.

Przemianować Dostawać.py Do API.py:

$ mv -v get.Py API.py

Najpierw dodaj linie (19-26), jak zaznaczono na zrzucie ekranu poniżej API.py plik.

Teraz uruchom API.py serwer:

API $ bin/python3.py

Aby wstawić nowe dane do /konto punkt końcowy, uruchom następujące polecenie:

$ curl -x post -h "content -Type: Application/json" -d '"name": „shovon”, „bilans”: 100 ”
http: // 127.0.0.1: 8080/konto

NOTATKA: Tutaj, „„ Nazwa ”:„ Shovon ”,„ Balance ”: 100” to dane wejściowe JSON.

Dane powinny zostać włożone.

Jak widać, dodaje się nowe dane.

Więc to wszystko dla tego artykułu. Dziękujemy za przeczytanie tego artykułu.