Creazione di API REST in Python

Creazione di API REST in Python
Il trasferimento dello stato di riposo o rappresentativo è uno stile di sviluppo software utilizzato principalmente nella progettazione di interfaccia di programmazione API o dell'applicazione per creare servizi Web interattivi e moderni. È anche noto come servizio web riposante.

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.

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 dei comandi nella shell.

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 virtuanv

Ora crea una directory di progetto (chiamiamola Pyrest/) con il seguente comando:

$ mkdir Pyrest

Ora 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 Pyrest

Quindi, attiva l'ambiente virtuale Python con il seguente comando:

$ source bin/attiva

Infine, esegui il seguente comando per installare la libreria Python Flask:

$ bin/pip3 Installa pallone

Scrivere 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.Py

Ora 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.Py

Come 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: 8080

Come 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.Py

Ora 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.Py

Il 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/account

Come 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.Py

Ho 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/1
$ CURL http: // 127.0.0.1: 8080/account/2

Aggiunta 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.Py

Innanzitutto, aggiungi le linee (19-26) come contrassegnato nello screenshot sottostante al API.Py file.

Ora esegui il API.Py server:

$ bin/python3 API.Py

Per inserire nuovi dati in /account Endpoint, eseguire il seguente comando:

$ curl -x post -h "contenuto -tipo: applicazione/json" -d '"nome": "shovon", "saldo": 100'
http: // 127.0.0.1: 8080/account

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.