Misión 3 · Lección 10

Creación de APIs con Flask (Flask-RESTful)

Objetivos

¿Qué es una API REST?

Instalación

pip install flask-restful

Ejemplo básico con Flask-RESTful

from flask import Flask
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

class Hola(Resource):
    def get(self):
        return {"mensaje": "Hola Mundo"}

api.add_resource(Hola, "/hola")

GET y POST en un recurso

class Usuario(Resource):
    def get(self):
        return {"usuarios": ["Ana", "Luis"]}

    def post(self):
        return {"mensaje": "Usuario creado"}, 201

api.add_resource(Usuario, "/usuarios")

Parámetros en la URL

class Usuario(Resource):
    def get(self, id):
        return {"id": id, "nombre": f"Usuario {id}"}

api.add_resource(Usuario, "/usuarios/<int:id>")

PUT y DELETE

class Usuario(Resource):
    def put(self, id):
        return {"mensaje": f"Usuario {id} actualizado"}

    def delete(self, id):
        return {"mensaje": f"Usuario {id} eliminado"}

api.add_resource(Usuario, "/usuarios/<int:id>")

Manejo de datos JSON

from flask import request

class Producto(Resource):
    def post(self):
        data = request.get_json()
        return {"producto": data}, 201

api.add_resource(Producto, "/productos")

Buenas Prácticas en APIs

Ejercicio Guiado

  1. Instala flask-restful en tu proyecto.
  2. Crea un recurso /usuarios con GET y POST.
  3. Agrega rutas dinámicas para /usuarios/<id> con GET, PUT y DELETE.
  4. Prueba los endpoints con Postman o curl.