Обишка 400 BadRequest

Всё что касается построения API
Ответить
Аватара пользователя
Chelobaka
Сообщения: 204
Зарегистрирован: 2018.06.01, 09:54

Обишка 400 BadRequest

Сообщение 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,
                ],
            ],
        ],

Аватара пользователя
Chelobaka
Сообщения: 204
Зарегистрирован: 2018.06.01, 09:54

Re: Обишка 400 BadRequest

Сообщение Chelobaka »

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

Аватара пользователя
Chelobaka
Сообщения: 204
Зарегистрирован: 2018.06.01, 09:54

Re: Обишка 400 BadRequest

Сообщение Chelobaka »

Вопрос исчерпан.
Все передается через полу data. в нем любые поля)

Ответить