@hollanditkzn

Как сделать формат json в api?

У меня такой вопрос в postman я получаю json ответ, но допустим когда открываю в браузере данную страницу то получаю xml формат, так должно же быть или нет?
В config/main.php
'components' => [
       ....
        'response' => [
          'formatters' => [
              \yii\web\Response::FORMAT_JSON => [
                  'class' => 'yii\web\JsonResponseFormatter',
              ]
          ]
        ],

Прописал вот это но получаю в браузере xml хотелось понять тк и должно же быть если postman дает json формат
  • Вопрос задан
  • 823 просмотра
Решения вопроса 2
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
Когда браузер делает запрос к серверу, то указывает какие именно типы контента он предпочитает в виде заголовка
5abd0498d2adf911421268.png

В фреймворке REST-контроллеры настроены на два типа данных - JSON и XML
5abd05d00cff0920874352.png

В вашем случае фреймворк сам выбрал XML, т.к. браузер указал его предпочтительным. Если хотите оставить только JSON, то перенастройте контроллеры. И тогда даже в браузере будет JSON.

Читайте полное описание: https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
kimono
@kimono
Web developer
class JsonController extends yii\web\Controller
{
  public function beforeAction() {
    if (parent::beforeAction()){
        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
        return true;
    }
    return false;
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы