yii2 создание пользовательского API для отдыха

Я создаю свое собственное пользовательское действие для некоторого вычисления, которое должно быть отправлено restful api в json. Проблема в том, что когда я создаю контроллер, унаследованный от activecontroller, то для действия index он запрашивает класс модели.

Мне нужно использовать действие index с моими собственными вычислениями, которые не нужно хранить в базе данных, поэтому мне вообще не нужно создавать класс модели. Это первый раз, когда я использую 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 был ограничен только для GET, есть ли способ заставить пользователя отправить сообщение об ошибке 404, если он пытается опубликовать на этой странице?

1

Решение

Если у вас нет модели, вы можете расширяться прямо из yii \ rest \ Controller и добавлять нужные вам действия

Здесь вы можете увидеть пример:

namespace api\controllers;
use yii\rest\Controller;
class MyController extends Controller
{
public function actionFast()
{
echo "XXX";
}
}
0

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

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

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