NotFoundHttpException и 500 ошибка

Уже исправленные репорты или принятые предложения
Ответить
Аватара пользователя
Kalinin.Andrey
Сообщения: 113
Зарегистрирован: 2013.11.01, 15:11

NotFoundHttpException и 500 ошибка

Сообщение Kalinin.Andrey »

Пишу АПИ. Контроллер унаследован от \yii\rest\Controller

В экшине выбрасываю

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

throw New \yii\web\NotFoundHttpException('Some text of exception!');
или

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

throw New \yii\web\BadRequestHttpException('Some text of exception!');
В браузер приходит 500.

response сконфигурирован так:

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

        'response' => [
            'class' => 'api\components\Response', // пустой, унаследован от \yii\web\Response
            'format' => \yii\web\Response::FORMAT_JSON,
            'charset' => 'UTF-8',
        ],
отладка показала, что format при выполнении переопределяется на xml, так как не находит json в списке $_SERVER['HTTP_ACCEPT'].

Глубже не копал.

Возможно, баг?
Аватара пользователя
Kalinin.Andrey
Сообщения: 113
Зарегистрирован: 2013.11.01, 15:11

Re: NotFoundHttpException и 500 ошибка

Сообщение Kalinin.Andrey »

Нашёл:
браузер по умолчанию не вставляет в хедер accept = 'application/json'
из-за этого ContentNegotiator меняет format на 'xml', который был в заголовке.

Для перевода в xml требуется пакет php-xml, которого у меня не было и вылетала ошибка 500.

Вывод:
в requirements.php нужно дабавить проверку на php-xml
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotFoundHttpException и 500 ошибка

Сообщение samdark »

Сможете на github зарепортить про requirements?
Ответить