CRUD FastAPI: POST, PUT, PATCH, DELETE и конфликты — задачи

Практика CRUD FastAPI: создание ресурса, обновление полей, удаление, APIRouter и ответ при конфликте.

Состав подборки: 2 вопроса с выбором ответа, 5 задач на код. Условия и формат проверки указаны на странице каждой задачи.

Разберите маленький пример

У ресурса есть name и capacity. Частичное изменение capacity не должно случайно стереть name. При проектировании PATCH различайте отсутствующее поле и явное новое значение; для PUT следуйте оговорённому контракту полной замены.

На что обратить внимание

  • Проверяйте как успешный ответ, так и отсутствие ресурса.
  • Создание конфликта бронирования не должно оставлять частично изменённые данные.
  • После операции сверяйте состояние хранилища, а не только статус ответа.
  • Разделение маршрутов по APIRouter должно сохранять ожидаемые URL и зависимости.

Порядок практики

  1. Создание ресурса: POST и статус 201 — задача по FastAPI — выбор ответа.
  2. Отсутствующий ресурс и HTTPException — задача по FastAPI — выбор ответа.
  3. FastAPI: PUT и PATCH для обновления ресурса без потери полей — код.
  4. FastAPI: DELETE и завершение CRUD для каталога комнат — код.
  5. FastAPI APIRouter: разнесите маршруты по модулям — код.
  6. FastAPI и база данных: обновление и удаление записи — код.
  7. FastAPI: создание бронирования и ответ 409 при конфликте — код.

Куда двигаться дальше

Продолжение с базой, тестами и доступом — курс FastAPI с базой данных и тестами.

Доступ пользователя к своим ресурсам.

CRUD FastAPI: POST, PUT, PATCH, DELETE и конфликты — задачи