Python es un poderoso lenguaje de programación. Tiene muchas bibliotecas para construir REST o API RESTful. Una de las bibliotecas más populares para crear aplicaciones web y escribir API REST es Matraz.
En este artículo, le mostraré cómo crear una API REST en Python usando Flask. Empecemos.
Requerimientos:
Deberías
- Python 2 o Python 3 instalado en su computadora.
- PIP o PIP3 instalado en su computadora.
- La comprensión básica del lenguaje de programación Python.
- La comprensión básica de la ejecución de comandos en el shell.
Debería poder encontrar artículos y tutoriales sobre todos estos temas en Linux.com
Usaré Python 3 en Debian 9 Stretch en este artículo. Si está utilizando Python 2, tendrá que ajustar un poco. Debería poder resolverlo usted mismo, ya que será tan simple como escribir pitón en vez de python3 y pepita en vez de pip3.
Configuración del entorno virtual:
En pocas palabras, el entorno virtual se utiliza para aislar una aplicación Python de otra. El paquete de Python utilizado para hacer eso es virtualenv.
Puede instalar fácilmente virtualenv usando PIP en su computadora con el siguiente comando:
$ sudo -H pip3 instalar virtualenvAhora cree un directorio de proyecto (llamémoslo pyrest /) con el siguiente comando:
$ mkdir pyrestAhora cree un entorno virtual de Python en el pyrest / directorio del proyecto con el siguiente comando:
$ virtualenv pyrest /Ahora navegue al directorio del proyecto con el siguiente comando:
$ cd pyrestLuego, active el entorno virtual de Python con el siguiente comando:
$ contenedor de origen / activarFinalmente, ejecute el siguiente comando para instalar la biblioteca Flask Python:
$ bin / pip3 instalar matrazEscribir el guión de su primer frasco:
En esta sección, escribiré un programa de hola mundo en Python Flask.
Primero, crea un archivo Hola.py en el directorio de su proyecto:
$ touch hola.pyAhora agregue las siguientes líneas a Hola.py archivo y guárdelo.
En la siguiente sección, le mostraré cómo ejecutar scripts de Flask.
Ejecución de Flask Script:
Ahora para comenzar el Hola.py Flask server, ejecute el siguiente comando:
$ bin / python3 hola.pyComo puede ver, el servidor se ha iniciado http: // 127.0.0.1: 8080.
Ahora, puede acceder al servidor Flask http: // 127.0.0.1: 8080 desde el navegador web o software de prueba API como Postman. Voy a usar CURL.
$ curl http: // 127.0.0.1: 8080Como puede ver, la salida correcta se imprime en la pantalla.
felicitaciones! El matraz está funcionando.
Accediendo a datos usando GET en REST API:
La solicitud GET en la API REST se utiliza para obtener información del servidor API. Establece algunos puntos finales de API y realiza una solicitud GET en ese punto final. Es sencillo.
Primero, crea un nuevo archivo obtener.py en el directorio de su proyecto con el siguiente comando:
$ toque obtener.pyAhora agregue las siguientes líneas en su obtener.py archivo y guárdelo.
Aquí, en la línea 1, el Matraz función constructora y jsonify la función se importa del módulo del matraz.
En la línea 3, un Matraz el objeto se crea y almacena en aplicación variable.
En la línea 5, creé una matriz Python de diccionarios de algunos datos ficticios y los almacené en el cuentas variable.
En la línea 10, definí el punto final de la API / cuentas y el método de solicitud, que es OBTENER.
En la línea 11, definí la función getAccounts (). getAccounts () La función se ejecutará cuando una solicitud GET para / cuentas el punto final está hecho.
Línea 12, que forma parte de getAccounts () función, convertí la cuentas matriz de diccionarios a JSON usando jsonify () función y lo devolvió.
En la línea 14-15, llamé al aplicación.correr() para decirle a Flask que ejecute el servidor API en el puerto 8080.
Ahora ejecute el servidor API de Flask con el siguiente comando:
$ bin / python3 obtener.pyEl servidor se ha iniciado en el puerto 8080.
Ahora haga una solicitud GET al / cuentas punto final con CURL de la siguiente manera:
$ curl http: // 127.0.0.1: 8080 / cuentasComo puede ver, los datos de las cuentas se muestran como formato JSON en la solicitud GET en / cuentas punto final.
También puede obtener datos específicos de la cuenta. Para hacer eso, voy a crear otro punto final de API /cuenta/
Edite el obtener.py script y agregue las líneas marcadas.
Aquí, en la línea 14, definí el punto final de la API /cuenta/
En la línea 15-17, la función getAccount () para el punto final de la API /cuenta/
En la línea 16, el identificación la variable se convierte en un número entero. También deduje 1 del identificación variable. Porque el índice de la matriz comienza desde 0. Quiero iniciar la ID de cuenta desde 1. Entonces, si pongo 1 como cuenta
En la línea 17, la matriz en el índice
El resto de códigos son iguales.
Ahora ejecute el servidor API nuevamente.
$ bin / python3 obtener.py
Solicité datos para la cuenta 1 y 2 por separado y obtuve el resultado esperado, como puede ver en la captura de pantalla a continuación.
$ curl http: // 127.0.0.1: 8080 / cuenta / 1$ curl http: // 127.0.0.1: 8080 / cuenta / 2
Agregar datos usando POST en la API REST:
Ahora voy a renombrar obtener.py a api.py y agregue un punto final de API /cuenta para agregar nuevos datos.
Rebautizar obtener.py a api.py:
$ mv -v obtener.py api.pyPrimero, agregue las líneas (19-26) como se marca en la captura de pantalla a continuación al api.py expediente.
Ahora ejecuta el api.py servidor:
$ bin / python3 api.py
Para insertar nuevos datos en el /cuenta endpoint, ejecute el siguiente comando:
$ curl -X POST -H "Tipo de contenido: aplicación / json" -d '"nombre": "Shovon", "balance": 100'http: // 127.0.0.1: 8080 / cuenta
NOTA: Aquí, '"Nombre": "Shovon", "saldo": 100' son los datos de entrada JSON.
Los datos deben insertarse.
Como puede ver, se agregan los nuevos datos.
Así que eso es todo por este artículo. Gracias por leer este artículo.