Yii2: как вызвать действие в URL с использованием & quot; довольно url & quot;

Без красивой ссылки маршрут имеет вид http://192.168.100.5/index.php?r=tweet/statistic&from=20160320&to=20160325 и это хорошо работает.

Как говорят документы, когда 'enablePrettyUrl' => true /tweet вызовите действие по умолчанию — и оно также хорошо работает

Но для других действий маршрут должен быть /tweet/statistic, Но есть ошибка 404.

Как я могу вызвать app \ controllers \ TweetController actionStatistic () в этом случае?

добавлено: я использую базовый шаблон

'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule',
'controller' => 'tweet'],
'GET tweet/statistic' => 'tweet/statistic'
],
],

когда я пытаюсь запрос curl для http://192.168.100.5/tweet/statistic

HTTP / 1.1 404 не найден

Если 'enablePrettyUrl' => false а также http://192.168.100.5/index.php?r=tweet/statistic" это хорошо работает

0

Решение

Обратите внимание, что это API отдыха, так как это сильно меняет дело. Дело в том, что вы должны объявить правила, чтобы Yii2 теперь знал, как с ними обращаться. Вы должны указать, какой это будет тип запроса и куда он будет направлен. Это сильно отличается от обычного приложения, потому что это API отдыха.

Мой рабочий конфиг:

 'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'v1/client',
..........................
]
],
'GET v1/clients/info' => 'v1/client/info',
'POST v1/settings/suburb' => 'v1/setting/suburb',
],
],
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]