Связывание методов HTTP с обработчиками классов
Реализуйте get, post, put и delete.
«Связывание методов HTTP с обработчиками классов» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Verbs Become Methods
In Flask-RESTful each HTTP verb maps to a same-named method on your Resource. GET calls get, POST calls post.
Handle a GET
Define a get method to read data. Returning a dict sends it back as JSON automatically.
class Task(Resource):
def get(self, task_id):
return {"id": task_id}Handle a POST
Add a post method to create something. It runs only when a client sends a POST to that URL.
def post(self):
return {"created": True}, 201Return a Status Code
Return a tuple of dict and number to set the status code. A fresh create should answer 201.
return {"id": 5}, 201Handle a PUT
A put method replaces or updates a resource. Clients send the full new state in the body.
def put(self, task_id):
return {"updated": task_id}Handle a DELETE
A delete method removes a resource. A common reply is an empty body with status 204.
def delete(self, task_id):
return "", 204URL Args Flow In
Path variables from add_resource arrive as method arguments, just like in normal Flask view functions.
api.add_resource(Task, "/tasks/<int:task_id>")One Class, Many Verbs
Group get, put, and delete for a single item in one class. Each verb has its own focused method.
class Task(Resource):
def get(self, id): ...
def delete(self, id): ...Two Resources for REST
A typical API uses a collection Resource at /tasks and an item resource at /tasks/<id>.
api.add_resource(TaskList, "/tasks")
api.add_resource(Task, "/tasks/<int:id>")Unsupported Verbs Are Handled
If a client uses a verb you did not define, Flask-RESTful answers 405 for you. No extra code needed. 🙌
Add Headers if Needed
Return a third tuple item to set headers, like pointing to a newly created resource location.
return data, 201, {"Location": "/tasks/5"}Quick Check
A client sends DELETE to your resource. Which method runs?
Recap: Verbs to Methods
You mapped HTTP verbs to methods, set status codes with tuples, and split collection and item resources. Full CRUD! 🎉
Часто задаваемые вопросы
Урок «Связывание методов HTTP с обработчиками классов» бесплатный?
Да — полный текст урока «Связывание методов HTTP с обработчиками классов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Связывание методов HTTP с обработчиками классов»?
Реализуйте get, post, put и delete. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Связывание методов HTTP с обработчиками классов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Классы ресурсов и объект Api
- Связывание методов HTTP с обработчиками классов
- Разбор и проверка с помощью reqparse
- REST-ресурсы, подключённые к чертежам