Как в yii rest controller убрать редирект пагинации при переходе на первую страницу?

В Yii фреймворке, чтобы убрать редирект при переходе на первую страницу в REST контроллере, необходимо сделать следующее:

1. Откройте файл контроллера, в котором применяется пагинация, обычно это файл controllers/YourController.php.

2. В начале файла добавьте следующий код:

use yiiwebHttpException;

3. В классе контроллера найдите метод actions(). Если его нет, то добавьте его и подключите yiirestAction класс.

/**
 * @inheritdoc
 */
public function actions()
{
    return [
        'index' => [
            'class' => 'yiirestIndexAction',
            'modelClass' => YourModel::class,
            'checkAccess' => [$this, 'checkAccess'],
            'prepareDataProvider' => [$this, 'prepareDataProvider'],
        ],
        // ...
    ];
}

4. Добавьте метод prepareDataProvider() в ваш контроллер, который будет возвращать провайдер данных для пагинации, например:

/**
 * Возвращает провайдер данных для пагинации.
 * @return ActiveDataProvider провайдер данных для пагинации
 */
public function prepareDataProvider()
{
    $model = new YourModel();
    
    $query = $model->find();

    // Код для настройки запроса и фильтров...

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
        'pagination' => [
            'params' => $_GET, // Передача параметров запроса
            'forcePageParam' => false,
        ],
    ]);

    return $dataProvider;
}

5. В методе prepareDataProvider() установите 'forcePageParam' => false для объекта пагинации, чтобы убрать редирект при переходе на первую страницу.

Теперь, при переходе на первую страницу пагинации в REST контроллере, редиректа не будет выполняться. Вместо этого, страница с первой страницей пагинации будет отображена непосредственно в ответе сервера.