Тест по HTTP и API: методы, JSON и коды ответа

Тест знаний HTTP и HTTP API для начинающих разработчиков и тестировщиков. Разберите запросы и ответы, значения параметров, JSON и обработку ошибок на примерах учебного сервиса FastAPI. В подборке выбирается ответ на вопрос; она не отправляет запросы к произвольным внешним API.

Темы для проверки

  • Что происходит после ввода адреса: домен, IP, порт и localhost.
  • Структура HTTP-запроса и ответа, передача данных в JSON.
  • Параметры пути, query-параметры и тело запроса.
  • Проверка полей и различие входной модели и модели ответа.
  • Создание ресурса, отсутствие ресурса, обновление и удаление.
  • Разделение маршрутов приложения через APIRouter.

Как читать задачу про API

Сначала выпишите метод и URL, затем входные данные и ожидаемый статус ответа. Проверьте, откуда берётся каждое поле: путь, строка запроса или JSON-тело. Имена похожих полей не делают эти источники взаимозаменяемыми.

GET обычно используется для чтения представления ресурса. POST часто создаёт ресурс или запускает действие; точное поведение задаётся контрактом сервиса. PUT и PATCH различаются предполагаемой полнотой обновления, поэтому пропущенное поле нельзя обрабатывать одинаково без явного решения API. FastAPI сам по себе не выбирает за автора бизнес-правила частичного обновления.

Ошибка валидации и отсутствие ресурса

Некорректный тип идентификатора и корректный идентификатор несуществующего объекта — разные случаи. В первом запрос не проходит установленную проверку, во втором приложению нужно обработать отсутствие данных. Проверяйте и тело ответа: одинаковый статус ещё не доказывает одинаковое поведение.

При подготовке к проверке знаний полезно объяснять причину ответа, а не запоминать номер варианта. Если тема незнакома, переходите в бесплатный курс FastAPI с базой данных и тестами. Для следующей ступени автоматизации есть задачи на pytest.