Ответ
Успешный запрос определяется по комбинации следующих критериев:
-
Корректный HTTP статус-код из класса 2xx:
- 200 OK — стандартный ответ для успешных GET, PUT, PATCH запросов.
- 201 Created — ресурс успешно создан (обычно в ответ на POST).
- 204 No Content — запрос выполнен, но тело ответа не возвращается (например, после DELETE).
-
Проверка статус-кода в коде или инструментах:
import requests resp = requests.post("https://api.example.com/items", json=data) # Основная проверка resp.raise_for_status() # Выбросит исключение для 4xx/5xx кодов # Или явная проверка assert resp.status_code == 201 -
Валидация структуры и содержимого ответа: Успешный статус-код должен сопровождаться корректными данными.
- Соответствие схеме (JSON Schema): Проверка структуры ответа.
- Наличие ожидаемых полей: Например, ID созданного объекта.
- Корректность бизнес-логики: Фактическое создание/изменение данных в БД.
-
Анализ в Postman:
pm.test("Request is successful", function () { pm.expect(pm.response.code).to.be.oneOf([200, 201, 204]); // Дополнительная проверка тела ответа var jsonData = pm.response.json(); pm.expect(jsonData).to.have.property('id'); });Успешность запроса — это не только статус
200, но и соблюдение контракта API.