Python è un potente linguaggio di programmazione. Ha molte librerie per la creazione di API REST o RESTful. Una delle librerie popolari per la creazione di app Web e la scrittura di API REST è Borraccia.
In questo articolo, ti mostrerò come creare API REST in Python usando Flask. Iniziamo.
Requisiti:
Avresti dovuto
- Python 2 o Python 3 installato sul tuo computer.
- PIP o PIP3 installato sul tuo computer.
- La comprensione di base del linguaggio di programmazione Python.
- La comprensione di base dell'esecuzione di comandi nella shell.
Dovresti essere in grado di trovare articoli e tutorial su tutti questi argomenti su LinuxHint.come
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 perché sarà semplice come scrivere pitone invece di pitone3 e pip invece di pip3.
Configurazione dell'ambiente virtuale:
Per dirla semplicemente, l'ambiente virtuale viene utilizzato per isolare un'app Python da un'altra. Il pacchetto Python utilizzato per farlo è virtualenv.
Puoi installare facilmente easily virtualenv utilizzando PIP sul tuo computer con il seguente comando:
$ sudo -H pip3 install virtualenvOra crea una directory di progetto (chiamiamola pire/) con il seguente comando:
$ mkdir pyrestOra crea un ambiente virtuale Python sul pire/ 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/activateInfine, esegui il seguente comando per installare la libreria Flask Python:
$ bin/pip3 install flaskScrivere il tuo primo script Flask:
In questa sezione, scriverò un programma Hello World in Python Flask.
Per prima cosa, crea un file Ciao.pi nella directory del tuo progetto:
$ tocca ciao.piOra aggiungi le seguenti righe a Ciao.pi file e salvalo.
Nella prossima sezione, ti mostrerò come eseguire gli script Flask.
Esecuzione dello script Flask:
Ora per iniziare il Ciao.pi Flask server, eseguire il seguente comando:
$ bin/python3 ciao.piCome puoi vedere, il server è stato avviato su 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 viene stampato sullo schermo.
congratulazioni! La fiaschetta funziona.
Accesso ai dati utilizzando GET nell'API REST:
La richiesta GET sull'API REST viene utilizzata per recuperare informazioni dal server API. Imposti alcuni endpoint API e fai una richiesta GET su quel punto finale. È semplice.
Per prima cosa, crea un nuovo file ottenere.pi nella directory del tuo progetto con il seguente comando:
$ tocco prendi.piOra aggiungi le seguenti righe nel tuo ottenere.pi file e salvalo.
Qui, sulla linea 1, il Borraccia funzione costruttore e jsonify la funzione viene importata dal modulo pallone.
Sulla linea 3, a Borraccia l'oggetto viene creato e memorizzato su app variabile.
Alla riga 5, ho creato un array Python di dizionari di alcuni dati fittizi e l'ho archiviato nel conti variabile.
Sulla riga 10, ho definito l'endpoint API /conti e il metodo di richiesta, che è OTTENERE.
Alla riga 11, ho definito la funzione getAccount(). getAccount() la funzione verrà eseguita quando una richiesta GET a /conti l'endpoint è fatto.
Riga 12, che fa parte di getAccount() funzione, ho convertito il conti array di dizionari in JSON usando jsonify() funzione e l'ha restituito.
Sulla linea 14-15, ho chiamato il app.correre() per dire a Flask di eseguire il server API sulla porta 8080.
Ora esegui il server API Flask con il seguente comando:
$ bin/python3 get.piIl server è stato avviato sulla porta 8080.
Ora fai una richiesta GET al /conti endpoint con CURL come segue:
$ curl http://127.0.0.1:8080/contiCome puoi vedere, i dati degli account vengono visualizzati in formato JSON su richiesta GET su /conti punto finale.
Puoi anche ottenere dati specifici dell'account. Per farlo, creerò un altro endpoint API /account/
Modifica il ottenere.pi script e aggiungi le linee contrassegnate ad esso.
Qui, alla riga 14, ho definito l'endpoint API /account/
Sulla riga 15-17, la funzione getAccount() per l'endpoint API /account/
Sulla linea 16, il id la variabile viene convertita in un numero intero. Ho anche dedotto 1 dal id variabile. Perché l'indice dell'array inizia da 0. Voglio iniziare l'ID account da 1. Quindi se metto 1 come account
Sulla riga 17, l'array all'indice
Il resto dei codici è lo stesso.
Ora esegui di nuovo il server API.
$ bin/python3 get.pi
Ho richiesto i dati per l'account 1 e 2 separatamente e ho ottenuto l'output previsto come puoi vedere dallo screenshot qui sotto.
$ curl http://127.0.0.1:8080/conto/1$ curl http://127.0.0.1:8080/conto/2
Aggiunta di dati utilizzando POST nell'API REST:
Ora ho intenzione di rinominare ottenere.pi per api.pi e aggiungi un endpoint API /account per l'aggiunta di nuovi dati.
Rinominare ottenere.pi per api.pi:
$ mv -v get.py api.piInnanzitutto, aggiungi le linee (19-26) come indicato nello screenshot qui sotto al to api.pi file.
Ora esegui il api.pi server:
$ bin/python3 API.pi
Per inserire nuovi dati nel /account endpoint, eseguire il seguente comando:
$ curl -X POST -H "Content-Type: application/json" -d '"name": "Shovon", "balance": 100'http://127.0.0.1:8080/conto
NOTA: Qui, '“nome”: “Shovon”, “saldo”: 100' sono i dati di input JSON.
I dati vanno inseriti.
Come puoi vedere, i nuovi dati vengono aggiunti.
Quindi questo è tutto per questo articolo. Grazie per aver letto questo articolo.