Rutas y Métodos HTTP en Flask

  Rutas y Métodos HTTP en Flask

En esta sección, aprenderás cómo definir rutas en Flask, los métodos HTTP básicos, cómo manejar parámetros en las rutas y cómo gestionar redirecciones y errores comunes.

Explicación de las rutas y cómo definirlas

Las rutas en Flask son URL que se asocian con funciones específicas. Para definir una ruta, utilizas el decorador @app.route() y pasas la URL deseada. Aquí hay un ejemplo:

python
@app.route('/inicio')
def inicio():
  return "Bienvenido a la página de inicio"

Métodos HTTP básicos

Flask soporta varios métodos HTTP, los más comunes son:

Métodos GET:

Se utiliza para solicitar datos del servidor. Es el método predeterminado para las rutas.

python
@app.route('/usuario', methods=['GET'])
def obtener_usuario():
  return {"nombre": "Juan", "edad": 30}

Métodos POST:

Se utiliza para enviar datos al servidor, como cuando se envía un formulario.

python
@app.route('/usuario', methods=['POST'])
def crear_usuario():
  # Aquí recibirías los datos del nuevo usuario
  return "Usuario creado", 201

Métodos PUT:

Se utiliza para actualizar datos existentes en el servidor.

python
@app.route('/usuario/<int:id>', methods=['PUT'])
def actualizar_usuario(id):
  return f"Usuario con ID {id} actualizado", 200

Métodos DELETE:

Se utiliza para eliminar datos en el servidor.

python
@app.route('/usuario/<int:id>', methods=['DELETE'])
def eliminar_usuario(id):
  return f"Usuario con ID {id} eliminado", 204

Parámetros en las rutas (rutas dinámicas)

Puedes definir rutas dinámicas que acepten parámetros. Por ejemplo:

python
@app.route('/usuario/<int:id>')
def mostrar_usuario(id):
  return f"Detalles del usuario con ID {id}"

En este caso, <int:id> indica que el parámetro id debe ser un número entero.

Redirecciones y manejo de errores comunes como 404

Flask te permite redirigir a otras rutas utilizando redirect:

python
from flask import redirect, url_for

@app.route('/redirigir')
def redirigir():
  return redirect(url_for('inicio'))

Además, puedes manejar errores comunes como el error 404 (página no encontrada):

python
@app.errorhandler(404)
def pagina_no_encontrada(error):
  return "Página no encontrada", 404