CRUD FastAPI: POST, PUT, PATCH, DELETE и конфликты — задачи
Практика CRUD FastAPI: создание ресурса, обновление полей, удаление, APIRouter и ответ при конфликте.
Состав подборки: 2 вопроса с выбором ответа, 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.
Разберите маленький пример
У ресурса есть name и capacity. Частичное изменение capacity не должно случайно стереть name. При проектировании PATCH различайте отсутствующее поле и явное новое значение; для PUT следуйте оговорённому контракту полной замены.
На что обратить внимание
- Проверяйте как успешный ответ, так и отсутствие ресурса.
- Создание конфликта бронирования не должно оставлять частично изменённые данные.
- После операции сверяйте состояние хранилища, а не только статус ответа.
- Разделение маршрутов по APIRouter должно сохранять ожидаемые URL и зависимости.
Порядок практики
- Создание ресурса: POST и статус 201 — задача по FastAPI — выбор ответа.
- Отсутствующий ресурс и HTTPException — задача по FastAPI — выбор ответа.
- FastAPI: PUT и PATCH для обновления ресурса без потери полей — код.
- FastAPI: DELETE и завершение CRUD для каталога комнат — код.
- FastAPI APIRouter: разнесите маршруты по модулям — код.
- FastAPI и база данных: обновление и удаление записи — код.
- FastAPI: создание бронирования и ответ 409 при конфликте — код.
Куда двигаться дальше
Продолжение с базой, тестами и доступом — курс FastAPI с базой данных и тестами.
- Создание ресурса: POST и статус 201 — задача по FastAPI
Какой статус и тело ожидает клиент от GET-запроса, если запись с id=3 присутствует в roomsdb? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Отсутствующий ресурс и HTTPException — задача по FastAPI
Что именно получит клиент в ответе? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - FastAPI: PUT и PATCH для обновления ресурса без потери полей
Реализуйте полное и частичное обновление ресурса FastAPI: меняйте название комнаты, не теряя остальные поля.
FastAPI для начинающих: API с базой данных и тестами - FastAPI: DELETE и завершение CRUD для каталога комнат
Добавьте удаление комнаты в FastAPI и завершите CRUD для каталога. Практическая задача на DELETE-маршрут.
FastAPI для начинающих: API с базой данных и тестами - FastAPI APIRouter: разнесите маршруты по модулям
Разделите маршруты FastAPI по модулям через APIRouter и сохраните прежние URL и поведение приложения.
FastAPI для начинающих: API с базой данных и тестами - FastAPI и база данных: обновление и удаление записи
Обновите и удалите запись переговорной в базе данных через API, сохранив согласованность ответа FastAPI.
FastAPI для начинающих: API с базой данных и тестами - FastAPI: создание бронирования и ответ 409 при конфликте
Создайте бронь свободной комнаты и верните HTTP 409, если время пересекается с существующей бронью. Задача FastAPI.
FastAPI для начинающих: API с базой данных и тестами
