Pitón

Creando API REST en Python

Creando API REST en Python
REST o Representational State Transfer es un estilo de desarrollo de software que se utiliza principalmente en el diseño de interfaces de programación de aplicaciones o API para crear servicios web interactivos y modernos. También se conoce como servicio web RESTful.

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

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 virtualenv

Ahora cree un directorio de proyecto (llamémoslo pyrest /) con el siguiente comando:

$ mkdir pyrest

Ahora 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 pyrest

Luego, active el entorno virtual de Python con el siguiente comando:

$ contenedor de origen / activar

Finalmente, ejecute el siguiente comando para instalar la biblioteca Flask Python:

$ bin / pip3 instalar matraz

Escribir 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.py

Ahora 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.py

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

Como 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.py

Ahora 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.py

El 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 / cuentas

Como 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/. Aquí, será la identificación del titular de la cuenta. El ID aquí es el índice de la matriz.

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/ y el método a utilizar, que es OBTENER.

En la línea 15-17, la función getAccount () para el punto final de la API /cuenta/ se define. La getAccount () la función acepta un identificación como argumento. El valor de desde el punto final de la API se establece en el identificación variable de getAccount () función.

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 , 1 - 1 = 0, obtendré el elemento en el índice 0 de la matriz cuentas.

En la línea 17, la matriz en el índice se devuelve como JSON.

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.py

Primero, 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.

Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...