Что такое статус-код 405?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
HTTP статус-код 405: Method Not Allowed
HTTP 405 (Method Not Allowed) — это статус-код ошибки, который сервер возвращает, когда клиент отправляет запрос с HTTP методом, который не поддерживается для данного ресурса. Это частая ошибка при тестировании API, и инженер должен чётко понимать её значение.
Описание и причины возникновения
Код 405 означает, что сервер получил корректный запрос на существующий ресурс, но использованный HTTP метод недопустимый для этого ресурса. Причины:
- Неправильный HTTP метод — например, попытка выполнить PUT на ресурс, который поддерживает только GET
- Методологические ограничения — некоторые эндпоинты могут быть специально ограничены для определённых методов
- Permissions и authentication — иногда ограничение связано с правами доступа пользователя
Примеры использования в QA тестировании
Сценарий 1: Попытка обновить ресурс с GET методом
- GET /api/v1/users/123 → 200 OK (работает)
- POST /api/v1/users/123 → 405 Method Not Allowed (метод не поддерживается)
Сценарий 2: Создание элемента
- POST /api/v1/products → 201 Created (работает)
- DELETE /api/v1/products → 405 Method Not Allowed (нельзя удалить всю коллекцию)
Отличие от других кодов
- 400 Bad Request — ошибка в формате запроса или параметрах
- 401 Unauthorized — требуется аутентификация
- 403 Forbidden — аутентификация пройдена, но нет прав доступа
- 404 Not Found — ресурс не существует
- 405 Method Not Allowed — ресурс существует, но метод не поддерживается
Роль в QA и автоматизации
Тестировщик должен:
- Проверять все HTTP методы для каждого эндпоинта и ожидаемые коды
- Тестировать граничные случаи — попытки использовать недокументированные методы
- Проверять корректность ошибок — сервер должен вернуть 405, а не 404
- Включать проверку в regression-тесты — изменения в API могут привести к неожиданным 405
Практический пример
При тестировании API проверяем, что для некорректного метода возвращается именно 405, а не другой код ошибки. Это гарантирует, что клиентское приложение сможет правильно обработать ошибку и вывести корректное сообщение пользователю.
Статус-код 405 — это важный индикатор проблем с использованием API, и его правильное тестирование гарантирует корректное взаимодействие клиента с сервером.