0% encontró este documento útil (0 votos)
8 vistas5 páginas

CRUD con Flask y Python en 45 min

Este laboratorio práctico enseña a crear una lista de productos utilizando un servidor Flask, permitiendo realizar operaciones CRUD (Crear, Recuperar, Actualizar y Eliminar) a través de una API REST. Los participantes aprenderán a implementar y probar estos endpoints utilizando cURL y POSTMAN. Al finalizar, habrán desarrollado habilidades para manejar datos transitorios en una aplicación Flask.

Cargado por

ferleonmoloney
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas5 páginas

CRUD con Flask y Python en 45 min

Este laboratorio práctico enseña a crear una lista de productos utilizando un servidor Flask, permitiendo realizar operaciones CRUD (Crear, Recuperar, Actualizar y Eliminar) a través de una API REST. Los participantes aprenderán a implementar y probar estos endpoints utilizando cURL y POSTMAN. Al finalizar, habrán desarrollado habilidades para manejar datos transitorios en una aplicación Flask.

Cargado por

ferleonmoloney
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Firefox [Link]

Laboratorio Práctico - Operaciones CRUD usando Python

Tiempo Estimado: 45 minutos

En este laboratorio, aprenderás a crear una lista de productos utilizando un servidor Flask. Tu aplicación deberá permitirte agregar un producto, recuperar los productos, recuperar un producto específico con su id, actualizar un producto específico con su id y eliminar un producto con su id. Todas estas operaciones se lograrán a través de los endpoints de la API REST en tu servidor Flask.

Crearás una aplicación con endpoints de API para realizar operaciones de Crear, Recuperar, Actualizar y Eliminar sobre los datos mencionados utilizando un servidor Flask.

Utilizarás cURL y POSTMAN para probar los endpoints implementados.

Objetivos:
Después de completar este laboratorio, podrás:

• Crear endpoints de API para realizar operaciones de Crear, Recuperar, Actualizar y Eliminar sobre datos transitorios con un servidor Flask.
• Crear endpoints de API REST y utilizar POSTMAN para probar tus APIs REST.

Configuración : Crear aplicación


1. Abre una ventana de terminal utilizando el menú en el editor: Terminal > Nueva Terminal.

2. Cambia a tu carpeta del proyecto, si aún no estás en la carpeta del proyecto.

cd /home/project

3. Ejecuta el siguiente comando para clonar el repositorio de Git que contiene el código de inicio necesario para este laboratorio, si aún no existe.

[ ! -d 'jmgdo-microservices' ] && git clone [Link]

5. Cambia al directorio jmgdo-microservices/CRUD para comenzar a trabajar en el laboratorio.

cd jmgdo-microservices/CRUD

6. Enumera el contenido de este directorio para ver los artefactos de este laboratorio.

ls

7. Ejecuta el siguiente comando en la terminal para instalar los paquetes que se requieren.

python3 -m pip install flask flask_cors

Ejercicio 1: Entender la aplicación del servidor


1. En el Explorador de Archivos, abre la carpeta jmgdo-microservices/CRUD y visualiza [Link].

2. Primero necesitas importar los paquetes necesarios para crear APIs REST con Flask.

from flask import Flask, jsonify, request


import json

3. Luego puedes crear la aplicación Flask, que atenderá todas las APIs REST para agregar, recuperar, actualizar y eliminar productos.

app = Flask("Product Server")

4. El código tiene productos precreados añadidos a la lista. Estos están definidos en el siguiente código.

products = [
{'id': 143, 'name': 'Notebook', 'price': 5.49},
{'id': 144, 'name': 'Black Marker', 'price': 1.99}
]

5. Ahora que el servidor está definido, crearás los endpoints de la API REST y definirás las rutas o caminos, uno para cada una de las siguientes operaciones.

• Recuperar todos los productos - GET Método de Solicitud


• Recuperar un producto por su id - GET Método de Solicitud
• Agregar un producto - POST Método de Solicitud
• Actualizar un producto por su id - PUT Método de Solicitud
• Eliminar un producto por su id - DELETE Método de Solicitud

Agrega el siguiente código a [Link] en el espacio proporcionado.

# Example request - [Link]


@[Link]('/products', methods=['GET'])
def get_products():
return jsonify(products)
# Example request - [Link] - with method GET
@[Link]('/products/<id>', methods=['GET'])
def get_product(id):
id = int(id)
product = [x for x in products if x["id"] == id][0]
return jsonify(product)
# Example request - [Link] - with method POST
@[Link]('/products', methods=['POST'])
def add_product():
[Link](request.get_json())
return '', 201
# Example request - [Link] - with method PUT
@[Link]('/products/<id>', methods=['PUT'])
def update_product(id):
id = int(id)
updated_product = [Link]([Link])
product = [x for x in products if x["id"] == id][0]
for key, value in updated_product.items():
product[key] = value
return '', 204
# Example request - [Link] - with method DELETE
@[Link]('/products/<id>', methods=['DELETE'])
def remove_product(id):
id = int(id)
product = [x for x in products if x["id"] == id][0]

1 of 5 17/1/26, 17:57
Firefox [Link]

[Link](product)
return '', 204

Ejecutar y probar el servidor con cURL


1. En la terminal, ejecuta el servidor de python usando el siguiente comando.

python3 [Link]

El servidor comienza a ejecutarse y a escuchar en el puerto 5000.

2. Abre otra Terminal haciendo clic en el menú Terminal y seleccionando Nueva Terminal.

3. En la nueva terminal, ejecuta el siguiente comando para acceder al [Link] punto final de la API. El comando curl significa Client URL y se utiliza como interfaz de línea de comandos con el servidor que sirve puntos finales de la API REST. Por defecto, es una solicitud GET.

curl [Link]

Esto devuelve un JSON con los productos que han sido precargados.

4. En la terminal, ejecuta el siguiente comando para agregar un producto a la lista. Esta será una solicitud POST a la que pasarás el parámetro del producto como un JSON.

curl -X POST -H "Content-Type: application/json" \


-d '{"id": 145, "name": "Pen", "price": 2.5}' \
[Link]

Este comando no devolverá ninguna salida. Agregará el producto a la lista de productos.

5. Verifica si el producto se ha agregado ejecutando el siguiente comando.

curl [Link]

Esto debería devolver los detalles del producto que acabas de añadir con una solicitud POST.

Usando POSTMAN para probar los endpoints de la API REST


Mientras que los endpoints GET son fáciles de probar con curl utilizando una interfaz de línea de comandos, los comandos POST, PUT y DELETE pueden ser complicados. Para eludir este problema, puedes usar Postman, que es un software disponible como servicio.

Postman necesitará acceso remoto al servidor ya que es una entidad externa. Para obtener la URL, haz clic en el siguiente botón.

Lanzar Aplicación

Copia la URL en un bloc de notas u otros editores de texto. Ve a [Link] y regístrate antes de comenzar a usar POSTMAN.

▸ Haz clic aquí para instrucciones sobre cómo registrarte en los servicios de Postman.

1. Ve a [Link].

2. Haz clic en Registrarse para iniciar el proceso de registro.

2 of 5 17/1/26, 17:57
Firefox [Link]

Puedes registrarte proporcionando tus detalles de correo electrónico y configurando tu contraseña o optar por iniciar sesión con tu cuenta de Google.

1. Haz clic en Crear Nuevo para comenzar a crear una solicitud al endpoint de la API REST.

2. Elige Solicitud HTTP de las opciones que se te presentan.

3. Pega la URL que has copiado en la barra de direcciones. Cambia el tipo de solicitud a POST. Para enviar la entrada como JSON, elige body->raw->JSON.

4. Ingresa el siguiente objeto JSON y haz clic en el botón Enviar. Esto añadirá el producto a tu lista anterior de productos.

{
"id":146,
"name":"Laptop Bag",
"price":45.00
}

3 of 5 17/1/26, 17:57
Firefox [Link]

4. Verifica la lista de productos para asegurarte de que la solicitud se haya procesado y el producto se haya añadido. Cambia el tipo de solicitud a GET y elimina el objeto JSON del cuerpo de la solicitud. Haz clic en Enviar y observa la salida en la ventana de respuesta.

5. Prueba el endpoint PUT para actualizar los detalles del producto cambiando el precio del artículo con id 146 a 42.00. Establece el tipo de solicitud a PUT y añade el id del producto al final de la URL, y agrega el valor a cambiar como un cuerpo JSON y haz clic en Enviar.

{
"price":42.00
}

6. Verifica el producto con id 146 para asegurarte de que la solicitud se ha procesado y el producto está actualizado. Cambia el tipo de solicitud a GET y elimina el objeto JSON del cuerpo de la solicitud. Haz clic en Send y observa la salida en la ventana de respuesta.

Laboratorios de práctica
1. Actualiza los detalles del producto con id 144 cambiando su precio a 2.50.

▸ Haz clic aquí para una pista


Ve al endpoint products/144. Establece el tipo de solicitud en `PUT` y añade el id del producto al final de la URL y agrega el valor a cambiar como un cuerpo JSON y haz clic en `Enviar`.
{
"price":2.50
}

▸ Haz clic aquí para ver la solución

4 of 5 17/1/26, 17:57
Firefox [Link]

2. Agrega el siguiente producto usando el método POST.

{
"id":142,
"name":"Eraser",
"price":1.50
}

▸ Haz clic aquí para una pista

Consulta el paso 3 del ejercicio anterior

3. Elimina el producto con id 142.

▸ Haz clic aquí para una pista


Ve al endpoint products/142. Establece el tipo de solicitud en `DELETE` y haz clic en `Enviar`.
▸ Haz clic aquí para la solución

¡Felicidades! Has completado el laboratorio de operaciones CRUD con Python.

Resumen:
En este laboratorio, has realizado operaciones CRUD como GET, POST, PUT y DELETE en una aplicación de servidor Python y has probado los métodos anteriores utilizando POSTMAN.

Author(s)
Lavanya T S

© IBM Corporation. Todos los derechos reservados.

5 of 5 17/1/26, 17:57

También podría gustarte