Clases de recursos y el objeto Api
Modele los endpoints como recursos con verbos HTTP.
Clases de recursos y el objeto Api 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.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
A Cleaner Way to Build APIs
Plain Flask routes work, but for APIs Flask-RESTful gives you a tidy, class-based structure that scales as endpoints grow. 🧩
Install the Extension
Flask-RESTful ships separately. Add it to your project with pip before you import anything from it.
pip install flask-restfulImport the Pieces
You need two names: Api, the manager that wires endpoints, and Resource, the base class for each one.
from flask_restful import Api, ResourceWrap Your App in an Api
Create an Api object around your Flask app. It becomes the registry where every resource gets mounted.
app = Flask(__name__)
api = Api(app)What a Resource Is
A Resource is a Python class representing one thing in your API, like a task or a user, grouped in one place.
class HelloWorld(Resource):
passSubclass Resource
Every endpoint you build starts by subclassing Resource. Methods inside it will answer HTTP verbs.
class TaskList(Resource):
def get(self):
return {"tasks": []}Mount It on a URL
Use add_resource to attach a resource class to a URL path. That is how the Api learns where it lives.
api.add_resource(TaskList, "/tasks")Return Plain Dicts
Just return a Python dict and Flask-RESTful serializes it to JSON for you, no manual jsonify needed. ✨
def get(self):
return {"message": "hello"}No More Route Decorators
Notice you skipped @app.route entirely. The Api object and add_resource replace the decorator workflow.
Run It Like Any Flask App
Startup is unchanged: the same app.run serves your resource-based API on the dev server.
if __name__ == "__main__":
app.run(debug=True)Why Classes Help
Grouping related verbs in one class keeps each endpoint self-contained and far easier to read than scattered functions.
Quick Check
Which object connects a Resource class to a URL?
Recap: Resources and the Api
You wrapped your app in an Api, subclassed Resource, and mounted it with add_resource. A clean API skeleton! 🎉
Preguntas frecuentes
¿La lección «Clases de recursos y el objeto Api» es gratis?
Sí — el texto completo de «Clases de recursos y el objeto Api» 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 «Clases de recursos y el objeto Api»?
Modele los endpoints como recursos con verbos HTTP. 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 «Clases de recursos y el objeto Api»?
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
- Clases de recursos y el objeto Api
- Asocie métodos HTTP a controladores de clase
- Analice y valide con reqparse
- Recursos REST montados en Blueprints