Python è un linguaggio di programmazione potente. Ha molte biblioteche per la costruzione di riposo o API RESTful. Una delle biblioteche popolari per la costruzione di app Web e la scrittura di REST API è Borraccia.
In questo articolo, ti mostrerò come creare API REST in Python usando il pallone. Iniziamo.
Avresti dovuto
Dovresti essere in grado di trovare articoli e tutorial su tutti questi argomenti su LinuxHint.com
Userò Python 3 su Debian 9 Stretch in questo articolo. Se stai usando Python 2, dovrai adattarti un po '. Dovresti essere in grado di capirlo da solo in quanto sarà semplice come scrivere pitone invece di Python3 E PIP invece di PIP3.
Impostazione dell'ambiente virtuale:
Per dirla semplicemente, l'ambiente virtuale viene utilizzato per isolare un'app Python da un'altra. Il pacchetto Python era solito farlo Virtualenv.
Puoi facilmente installare Virtualenv Utilizzo di PIP sul tuo computer con il seguente comando:
$ sudo -h pip3 installa virtuanvOra crea una directory di progetto (chiamiamola Pyrest/) con il seguente comando:
$ mkdir PyrestOra crea un ambiente virtuale Python su Pyrest/ Directory del progetto con il seguente comando:
$ virtualenv pyrest/Ora vai nella directory del progetto con il seguente comando:
$ CD PyrestQuindi, attiva l'ambiente virtuale Python con il seguente comando:
$ source bin/attivaInfine, esegui il seguente comando per installare la libreria Python Flask:
$ bin/pip3 Installa palloneScrivere il tuo primo script di pallone:
In questa sezione, scriverò un programma Hello World in Python Flask.
Innanzitutto, crea un file Ciao.Py Nella directory del tuo progetto:
$ touch ciao.PyOra aggiungi le seguenti righe a Ciao.Py file e salvalo.
Nella prossima sezione, ti mostrerò come eseguire script di pallone.
Script di pallone:
Ora per iniziare il Ciao.Py Server Flask, eseguire il seguente comando:
$ bin/python3 ciao.PyCome puoi vedere, il server è iniziato http: // 127.0.0.1: 8080.
Ora puoi accedere al server Flask http: // 127.0.0.1: 8080 Dal browser Web o da software di test API come Postman. Userò Curl.
$ CURL http: // 127.0.0.1: 8080Come puoi vedere, l'output corretto è stampato sullo schermo.
congratulazioni! Il pallone funziona.
Accesso ai dati utilizzando API REST:
Ottieni richiesta su REST API viene utilizzato per recuperare le informazioni dal server API. Si imposta alcuni endpoint API e fai una richiesta di Get su quel punto finale. È semplice.
Innanzitutto, crea un nuovo file Ottenere.Py Nella directory del progetto con il seguente comando:
$ touch get.PyOra aggiungi le seguenti righe nel tuo Ottenere.Py file e salvalo.
Qui, sulla riga 1, il Borraccia funzione costruttore e jsonify La funzione viene importata dal modulo di pallone.
Sulla riga 3, a Borraccia L'oggetto viene creato e archiviato app variabile.
Sulla riga 5, ho creato una serie di dizionari pithon di alcuni dati fittizi e l'ho memorizzato nel account variabile.
Nella riga 10, ho definito l'endpoint API /Account e il metodo di richiesta, che è OTTENERE.
Sulla riga 11, ho definito la funzione getAccount (). getAccount () La funzione eseguirà quando una richiesta di otter /Account L'endpoint è fatto.
Riga 12, che fa parte di getAccount () funzione, ho convertito il account Array di dizionari a JSON usando jsonify () funzione e restituito.
Sulla riga 14-15, ho chiamato il app.correre() Per dire a Fask di eseguire il server API sulla porta 8080.
Ora esegui il server API Flask con il seguente comando:
$ bin/python3 get.PyIl server è iniziato sulla porta 8080.
Ora fai una richiesta di ottenere al /Account Endpoint con Curl come segue:
$ CURL http: // 127.0.0.1: 8080/accountCome puoi vedere, i dati degli account vengono visualizzati come formato JSON su Get Request On /Account Endpoint.
Puoi anche ottenere dati specifici dell'account. Per farlo, creerò un altro endpoint API /account/. Qui, sarà l'ID il titolare del conto. L'ID qui è l'indice dell'array.
Modificare il Ottenere.Py script e aggiungi le righe contrassegnate ad esso.
Qui, sulla riga 14, ho definito l'endpoint API /account/ e il metodo da utilizzare, che è OTTENERE.
Sulla riga 15-17, la funzione getAccount () Per l'endpoint API /account/ è definito. IL getAccount () La funzione accetta a id come argomento. Il valore di dall'endpoint API è impostato su id variabile di getAccount () funzione.
Sulla riga 16, il id La variabile viene convertita in un numero intero. Ho anche dedotto 1 dal id variabile. Perché l'indice di array inizia da 0. Voglio avviare l'ID account da 1. Quindi se metto 1 come account , 1 - 1 = 0, otterrò l'elemento all'indice 0 dall'array account.
Nella riga 17, l'array all'indice viene restituito come JSON.
Il resto dei codici è lo stesso.
Ora esegui di nuovo il server API.
$ bin/python3 get.PyHo richiesto i dati per l'account 1 e 2 separatamente e ho ottenuto l'output previsto come puoi vedere dallo screenshot di seguito.
$ CURL http: // 127.0.0.1: 8080/account/1Aggiunta di dati utilizzando Post in REST API:
Ora ho intenzione di rinominare Ottenere.Py A API.Py e aggiungi un endpoint API /account Per l'aggiunta di nuovi dati.
Rinominare Ottenere.Py A API.Py:
$ mv -v get.py api.PyInnanzitutto, aggiungi le linee (19-26) come contrassegnato nello screenshot sottostante al API.Py file.
Ora esegui il API.Py server:
$ bin/python3 API.PyPer inserire nuovi dati in /account Endpoint, eseguire il seguente comando:
$ curl -x post -h "contenuto -tipo: applicazione/json" -d '"nome": "shovon", "saldo": 100'NOTA: Qui, '"Nome": "Shovon", "Balance": 100 " sono i dati di input JSON.
I dati devono essere inseriti.
Come puoi vedere, vengono aggiunti i nuovi dati.
Quindi è tutto per questo articolo. Grazie per aver letto questo articolo.