Flask Academy · Lección

Declare los métodos permitidos en una ruta

Pase methods a @app.route para GET y POST.

Lección 1 de 413 pasos

Declare los métodos permitidos en una ruta es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.

Las rutas usan GET de forma predeterminada

Hasta ahora, todas las rutas de Flask que ha escrito solo responden a solicitudes GET. Los navegadores usan GET para obtener páginas, por lo que es el valor predeterminado natural.

El argumento methods

Para aceptar otros verbos, pase una lista methods al decorador de la ruta. Esto indica a Flask exactamente qué verbos HTTP gestionará la vista.

@app.route("/submit", methods=["GET", "POST"])
def submit():
    return "ok"

Por qué debe indicar GET explícitamente

En cuanto establece methods, desaparece el GET implícito. Si aún quiere aceptar GET, debe incluirlo usted mismo en la lista.

Una ruta exclusiva para POST

Algunos endpoints nunca deberían servir una página. Haga que una ruta acepte únicamente POST indicando solo POST; las solicitudes GET serán rechazadas.

@app.route("/api/items", methods=["POST"])
def create_item():
    return "created"

Los verbos son cadenas en mayúsculas

Flask espera cada verbo como una cadena en mayúsculas, como "GET" o "POST". Las entradas en minúsculas simplemente no coincidirán con las solicitudes entrantes.

HEAD se incluye automáticamente

Cuando permite GET, Flask también responde automáticamente a HEAD. HEAD devuelve las mismas cabeceras que GET, pero sin cuerpo.

OPTIONS también se añade

Flask también gestiona automáticamente OPTIONS y responde con una cabecera Allow que enumera los métodos que acepta su ruta.

Más allá de GET y POST

Las API suelen necesitar más verbos. Puede enumerar PUT, PATCH o DELETE de la misma forma para admitir la actualización y eliminación de recursos.

@app.route("/api/items/<id>", methods=["PUT", "DELETE"])
def edit_item(id):
    return "changed"

Una función, varios métodos

Una sola vista puede aceptar varios verbos a la vez. Dentro de ella, decide qué hace cada verbo, todo desde una función.

Haga coincidir el verbo con la intención

Use GET para leer y POST para crear. Elegir el verbo adecuado mantiene su API predecible para todos los clientes que la utilizan.

Verbo incorrecto, ninguna coincidencia

Si un cliente usa un verbo que nunca enumeró, Flask rechaza la solicitud por completo. Declarar methods es su primera línea de control de acceso.

Comprobación rápida

Reflexione sobre qué ocurre con GET cuando establece methods.

Resumen

Las rutas usan GET de forma predeterminada, pero la lista methods le permite aceptar POST, PUT y otros métodos. Incluya GET explícitamente si aún lo necesita. ¡Muy bien! 🎉

Gratis para empezar

Aprende Python con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Declare los métodos permitidos en una ruta» es gratis?

Sí — el texto completo de «Declare los métodos permitidos en una ruta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Declare los métodos permitidos en una ruta»?

Pase methods a @app.route para GET y POST. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Flask Academy?

No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Declare los métodos permitidos en una ruta»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Flask Academy?

Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Declare los métodos permitidos en una ruta
  2. Ramifique la lógica según request.method
  3. Lea datos POST del cuerpo
  4. Explicación de 405 Method Not Allowed
← Volver a Flask Academy