Как задать путь через GET-параметр в API Yii2?

Всё что касается построения API
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Как задать путь через GET-параметр в API Yii2?

Сообщение MarkL »

Необходимо чтобы путь к действию контроллера формировался на базе GET-параметра action.

Пример: Есть нативный URL:

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

domain.com/api/v1/order/create 
Необходимо чтобы был формат:

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

domain.com/api?action=add
То есть, значение action является "псевдонимом".

По-сути, решается с помощью URL-менеджера, но правило не дало ожидаемого результата:

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

'<action:add>' => 'v1/order/create'
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как задать путь через GET-параметр в API Yii2?

Сообщение yiiliveext »

Сделайте какой-нибудь

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

public function actionDo($action)
{
    if ($action == 'add') {
        return $this->actionCreate();
    } 
}
Тогда в UrlManager

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

'api' => 'v1/order/do'
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Как задать путь через GET-параметр в API Yii2?

Сообщение MarkL »

yiiliveext, там около 6 методов API в разных контроллерах, с разными данными и мецтодами. Поэтому, в предложенном варианте есть ряд минусов
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как задать путь через GET-параметр в API Yii2?

Сообщение yiiliveext »

MarkL писал(а): 2019.09.24, 18:04 yiiliveext, там около 6 методов API в разных контроллерах, с разными данными и мецтодами. Поэтому, в предложенном варианте есть ряд минусов
Тогда наследуйтесь от yii\web\UrlRule и делайте свое правило.
Ответить