Может ли сервер-макет postman возвращать код состояния 449

#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 не является официальным кодом состояния.

https://dynomapper.com/blog/254-the-6-types-of-http-status-codes-explained#:~:text=A 449 error appears when,order to fulfill a request.

На приведенном ниже сайте показаны официально присвоенные коды состояния. похоже, что на данный момент неназначенные не поддерживаются в 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)