Задать вопрос
@keddad
Ученик

Может ли Flask/Flask Restful возвращать HTTP 200 без прямого указания?

У меня есть метод API, который может возвращать (описаны в Return) только 2 кода ответа HTTP: 201 и 400. Так же я могу ожидать HTTP 500, если что то пойдет не так. Но при прохождении тестов API возвращает HTTP 200 вместо 400. Как это может происходить? Даже когда я добавляю в код что то вроде
if True:
            return 400

Он все равно возвращает 200! Как такое может происходить?
  • Вопрос задан
  • 393 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@lightmanLP
Задушил питона
Как я понял вы используете фласк. https://www.flaskapi.org/api-guide/status-codes/
Ответ написан
Комментировать
@keddad Автор вопроса
Ученик
Хорошо, я нашел проблему. Если ответ содержит только HTTP code, то выглядит как
return 400
К сожалению, flask-restful не вполне корректно его обрабатывает. Это приводит к ответу с текстом ответа "400", а HTTP кодом - 200. Выход из ситуации - вручную сформировать обьект flask.Responce:
return Responce(status=400)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект