Я создаю свое собственное настраиваемое действие для некоторых расчетов, которое должно быть отправлено с помощью restful API в json. Проблема в том, что когда я создаю контроллер, унаследованный от activecontroller, то для действия индекса он запрашивает класс модели.
Мне нужно использовать индексное действие с моим собственным расчетом, который не нужно хранить в базе данных, поэтому мне вообще не нужно создавать класс модели. Это первый раз, когда я использую activecontroller, поэтому я не уверен, как заставить индексную страницу действовать в соответствии с моими потребностями.
Я могу создать свое собственное пользовательское действие с любым именем, которое я хочу, например.
public function actionFast()
{
echo "XXX";
}
и внутри config/web.php
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true
,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => ['Apprest/Fast'], 'extraPatterns' => ['GET dast' => 'fast']],
],
],
но вместо моего пользовательского действия «Быстро» мне нужно использовать действие индекса для всех видов вычислений. Есть ли способ сделать это?
Во-вторых, я хочу сделать этот URL-адрес ограниченным только для URL-адреса GET, есть ли способ отправить пользователю сообщение об ошибке 404, если он попытается опубликовать сообщение на этой странице?