РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
385 of 643 menu

Исключение BadRequest

Исключение BadRequest вызывается, когда клиент отправил запрос, который сервер не может обработать из-за ошибки на стороне клиента: неверные параметры, некорректные данные формы или неподдерживаемый формат. При возбуждении исключения Flask автоматически возвращает HTTP-ответ со статусом 400. Первым параметром можно передать описание ошибки, которое попадёт в тело ответа.

Синтаксис

from flask import Flask from werkzeug.exceptions import BadRequest raise BadRequest(description)

Пример

Давайте возбудим исключение при отсутствии обязательного параметра user:

from flask import Flask, request from werkzeug.exceptions import BadRequest app = Flask(__name__) @app.route('/login') def login(): user = request.args.get('user') if not user: raise BadRequest('user is required') return 'hello ' + user

Результат выполнения кода для адреса /login:

400 Bad Request user is required

Пример

Давайте перехватим исключение BadRequest и вернём собственный ответ в формате JSON:

from flask import Flask, jsonify from werkzeug.exceptions import BadRequest app = Flask(__name__) @app.errorhandler(BadRequest) def handle_bad_request(e): return jsonify({ 'error': 'abcde', 'code': e.code }), 400 @app.route('/user') def user(): raise BadRequest('invalid user')

Результат выполнения кода для адреса /user:

{ "error": "abcde", "code": 400 }

Смотрите также

  • класс HTTPException,
    базовый класс всех исключений Flask
  • атрибут code,
    который хранит HTTP-код ответа
  • атрибут description,
    который хранит текст описания ошибки
  • метод get_response,
    который возвращает ответ для исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить