Тест по 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.
- Что происходит после ввода адреса в браузере — задача по FastAPI
Как называется этот способ обращения одной программы к другой? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - URL, домен, IP, порт и localhost — задача по FastAPI
Какой порт использует браузер для этого соединения и почему? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - HTTP-запрос и ответ — задача по FastAPI
1 Host: localhost:8000 Content-Type: text/plain Купить хлеб В каком элементе запроса находится текст новой заметки?
FastAPI для начинающих: API с базой данных и тестами - JSON — язык данных API — задача по FastAPI
Какой вариант является единственным синтаксически корректным JSON-объектом? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Проект FastAPI и первый GET — задача по FastAPI
Что произойдёт при загрузке приложения и почему? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Path-параметры и типы — задача по FastAPI
Какое значение и какого типа получит функция-обработчик в аргументе roomid? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Query-параметры и фильтрация каталога — задача по FastAPI
mincapacity=6&hasprojector=true, если фильтры применяются последовательно и оба условия обязательны? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - POST, JSON-тело и первая модель запроса — задача по FastAPI
capacity внутри обработчика и JSON успешного ответа клиенту? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Ограничения полей и ошибки валидации — задача по FastAPI
Какие статусы вернут эти два запроса? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - FastAPI: вложенная модель Pydantic и необязательное поле
Опишите вложенный адрес и необязательный комментарий в Pydantic-модели запроса FastAPI. Задача с проверкой API.
FastAPI для начинающих: API с базой данных и тестами - Модели создания и ответа — задача по FastAPI
Что окажется в теле JSON-ответа? Проверьте ответ в задаче из бесплатного курса FastAPI.
FastAPI для начинающих: API с базой данных и тестами - Создание ресурса: 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 с базой данных и тестами
