@keddad
Ученик

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Delta Волгоград
от 60 000 до 100 000 руб.
YLab Тольятти
от 80 000 до 120 000 руб.
FUELUP Москва
от 100 000 до 150 000 руб.