Страница 1 из 1

Обишка 400 BadRequest

Добавлено: 2019.10.25, 10:55
Chelobaka
Здравствуйте,

У меня есть такой конфиг:
Проблема в том, что когда я отправляю невалидный json то в ответе приходит 400 заголовком, а у меня на все запросы возвращается определенный объект. Для этого пришлось вынести авторизацию в метод action, и убрать проверку типа запросов (GET, POST) на свою потому что не мог отловить ошибки при авторизации когда выкидывается 401 или 4ХХ при не верном типе запроса, но как отловить ошибку 400?

Возможно есть глобальный обработчик ошибок для контроллера или приложения? То есть ошибки авторизации, неверный метод, доступ запрещен и т.д.?

Код: Выделить всё

'request' => [
            'baseUrl'=>'',
            'enableCookieValidation' => false,
            'parsers' => [
                'application/json' => 'yii\web\JsonParser',
            ],
        ],
'response' => [
            'class' => 'yii\web\Response',
            'format' => yii\web\Response::FORMAT_JSON,
            'formatters' => [
                'json' => [
                    'class' => 'yii\web\JsonResponseFormatter',
                    'encodeOptions' => JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE,
                ],
            ],
        ],

Re: Обишка 400 BadRequest

Добавлено: 2019.10.25, 11:21
Chelobaka
Можно перехватывать в событии 'on beforeSend' и отправлять свои данные, но получается беда с добавлением поля Error.
Его нет. Как его добавить? Просто отнаследоваться от yii\web\Response недостаточно.

Re: Обишка 400 BadRequest

Добавлено: 2019.10.25, 11:27
Chelobaka
Вопрос исчерпан.
Все передается через полу data. в нем любые поля)