Introducción
En este tutorial, aprenderá a crear una API REST simple utilizando Flask, un marco web ligero de Python. cubriremos los conceptos básicos para configurar una aplicación de Flask, definir rutas, manejar solicitudes y devolver respuestas en formato JSON. Al finalizar este tutorial, tendrá funcionando una API que podrá ampliar y integrar con otras aplicaciones.
Prerrequisitos
-
Un servidor que ejecute Ubuntu y un usuario no root con privilegios de sudo y una cortina activa. Para obtener instrucciones sobre cómo configurar esto, por favor elija su distribución de esta lista y siga nuestra guía de configuración inicial del servidor. Asegúrese de trabajar con una versión compatible de Ubuntu.
-
Familiaridad con la línea de comandos de Linux. Para una introducción o recuerdo de la línea de comandos, puede visitar esta guía sobre primer curso de la línea de comandos de Linux
-
Un entendimiento básico de la programación en Python.
-
Python 3.7 o posterior instalado en su sistema Ubuntu. Para aprender cómo ejecutar un script de Python en Ubuntu, puede referirse a nuestro tutorial sobre cómo ejecutar un script de Python en Ubuntu.
Paso 1 — Configuración de tu Entorno Flask
Ubuntu 24.04 trae Python 3 por defecto. Abra el terminal y ejecute el siguiente comando para comprobar la instalación de Python 3:
Si Python 3 ya está instalado en su equipo, el comando anterior devuelve la versión actual de la instalación de Python 3. En caso de que no esté instalado, puede ejecutar el siguiente comando para obtener la instalación de Python 3:
Después, necesita instalar el instalador de paquetes pip
en su sistema:
Una vez que pip
está instalado, vamos a instalar Flask.
Vas a instalar Flask mediante pip
. Es recomendable hacer esto en un entorno virtual para evitar conflictos con otros paquetes en tu sistema.
Paso 2 – Crear una Aplicación de Flask
El siguiente paso es escribir el código de Python para la aplicación de Flask. Para crear un nuevo archivo, navegue hasta el directorio de su elección:
Una vez dentro del directorio, cree un nuevo archivo Python, app.py,
e importe Flask. A continuación, inicie una aplicación de Flask y cree una ruta básica.
Esto abrirá un editor de texto en blanco. Escriba su lógica aquí o copie el siguiente código:
Paso 3 – Creando Rutas RESTful
En esta sección, definiremos rutas en nuestra aplicación de Flask que corresponden a las diferentes acciones que un usuario puede realizar en la API. Cada ruta manejará un método HTTP específico.
GET
, POST
, PUT
, y DELETE
. Estos métodos corresponden a las cuatro operaciones básicas de almacenamiento persistente, a menudo se refieren como CRUD (Create, Read, Update, Delete).
Agregue las siguientes rutas a su archivo de script de Python app.py
:
Vamos a saber más acerca de lo que hace cada función:
-
Importaciones de Flask: El código importa componentes necesarios de Flask:
Flask
,jsonify
, yrequest
. -
Almacén de Datos en Memoria:
items
es una simple lista de diccionarios que actúa como un almacén de datos temporal para la API. Cada elemento tiene unid
y unname
. -
GET
/api/items
: Cuando se realiza una solicitudGET
a/api/items
, el servidor devuelve una lista de todos los elementos en el almacén de datos de elementos. Esto es útil para recuperar todos los recursos de una colección. -
POST
/api/items
: Una solicitud POST a/api/items
permite al cliente crear un nuevo elemento. El servidor espera un objeto JSON que contenga los detalles del nuevo elemento en el cuerpo de la solicitud. Después de crear el elemento, el servidor responde con el elemento recién creado y un código de estado201 Created
. -
PUT
/api/items/<int:item_id>
: Una solicitudPUT
a/api/items/<item_id>
se utiliza para actualizar un elemento existente con elitem_id
especificado. El cliente envía los datos actualizados en el cuerpo de la solicitud, y el servidor modifica el elemento existente. Si no se encuentra el elemento, el servidor devuelve un error404 Not Found
. -
DELETE
/api/items/<int:item_id>
: Una solicitudDELETE
a/api/items/<item_id>
elimina el elemento con elitem_id
especificado de la tienda de datos. Si el elemento se elimina con éxito, el servidor responde con un código de estado204 No Content
, indicando que la eliminación fue exitosa y no hay más contenido para devolver. -
Running the Application: El bloque
if __name__ == "__main__":
asegura que la aplicación Flask se ejecute cuando el script se ejecuta directamente.
Paso 4 — Ejecución y prueba de tu API
Empieza tu servidor Flask utilizando el siguiente comando:
Deberías notar que el servidor Flask se está ejecutando con la salida siguiente:
Apartir de la salida anterior, puedes notar que el servidor se está ejecutando en http://127.0.0.1
y está escuchando en el puerto 5000
.
Ahora, puedes probar las entradas utilizando curl
, Postman, o otro cliente HTTP. En este tutorial, utilizarás curl
para probar las entradas y enviar solicitudes HTTP.
Abra otra consola de Ubuntu y ejecute los siguientes comandos curl
uno por uno:
- GET:
curl http://127.0.0.1:5000/api/items
- POST:
curl -X POST -H "Content-Type: application/json" -d '{"name": "This is item 3"}' http://127.0.0.1:5000/api/items
- PUT:
curl -X PUT -H "Content-Type: application/json" -d '{"name": "This is updated item 1"}' http://127.0.0.1:5000/api/items/1
- DELETE:
curl -X DELETE http://127.0.0.1:5000/api/items/1
Veamos cada uno de estos comandos en acción:
Usted notará que el servidor devuelve una lista de todos los elementos en el almacén de datos de items.
Usando el método POST
, vamos a agregar un nuevo elemento al almacén de datos.
Nota: En su otra consola donde su servidor Flask está ejecutándose, notará que se están ejecutando todas las solicitudes HTTP y sus códigos de respuesta también.
Esta es una gran manera de monitorear, depurar y resolver problemas con el servidor.
Ahora, vamos a ejecutar una solicitud PUT
. Una solicitud PUT
a /api/items/<item_id>
actualizará un elemento existente con el item_id
especificado.
Ahora, ejecute una solicitud GET
para ver el elemento actualizado 1.
Por último, ejecute una solicitud DELETE
para eliminar un elemento del almacén de datos.
Esto eliminará el elemento 1 del almacén de datos.
Para verificar esto, ejecute una solicitud GET
.
Notará que el elemento 1 ya no está presente y ha sido eliminado permanentemente.
Conclusión
En este tutorial, ha creado una aplicación básica de API REST utilizando Flask. Ahora puede ampliar esta API con rutas adicionales, integrarla con una base de datos o desplegarla en una plataforma en la nube como DigitalOcean. Flask es una herramienta poderosa para construir APIs de forma rápida y eficiente, y con estos conceptos básicos, ya está listo para comenzar a construir aplicaciones más complejas.
Source:
https://www.digitalocean.com/community/tutorials/create-a-rest-api-using-flask-on-ubuntu