#server #mocking #postman #http-status-codes #postman-mocks
#сервер #издевательство #postman #http-status-codes #postman-издевается
Вопрос:
Я пытаюсь использовать Postman для моделирования функциональности сервера, чтобы имитировать вызов API, который вернет код состояния 449. По какой-то причине хорошее тело ответа — return , но код состояния остается на уровне 200.
Я могу изменить пример, чтобы возвращать 404, 422, 451 и другие, но как только я устанавливаю 449 для кода состояния, он возвращает 200.
Есть ли способ заставить макет сервера возвращать код состояния 449?
Редактировать: я добавляю коллекцию и среду, которые воспроизводят проблемы https://github.com/freddycoder/PostmanStatusCode
Ответ №1:
449 не является официальным кодом состояния.
На приведенном ниже сайте показаны официально присвоенные коды состояния. похоже, что на данный момент неназначенные не поддерживаются в postman, ожидающем код состояния apache 509. Возможно, фиктивные серверы используют apache, а 449, 450 и т. Д. Являются специфичными для Windows кодами состояния.
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
Вы можете протестировать конкретный вариант использования с помощью заголовка запроса x-mock-response-code
При установке этого заголовка postman возвращает ответ только в том случае, если пример сервера-макета имеет код состояния, установленный как 449.
в противном случае вы получите 404 mockRequestNotFoundError .
итак, в вашем тесте вы можете установить pm.response.code = 449, если код ответа равен 200;
Для этого в pre reqeust set :
pm.response.code===200?pm.response.code=449:null
pm.response.code===449?pm.response.status="Retry With":null
console.log(pm.response.code,pm.response.status)