yii2 创建基于自定义的 Rest API
yii2 creating custom based Rest API
我正在为一些计算创建我自己的基于自定义的操作,必须由 restful api 在 json 中发送。问题是当我创建从 activecontroller 继承的控制器时,然后对于索引操作它询问模型 class.
我必须将索引操作与我自己的基于自定义的计算一起使用,它不需要存储在数据库中,所以我实际上根本不需要创建模型 class。这是我第一次使用 activecontroller,所以我不确定如何让索引页按照我的需要运行。
我可以使用我想要的任何名称创建我自己的基于自定义的操作,例如
public function actionFast()
{
echo "XXX";
}
在配置里面/ web.php
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true
,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => ['Apprest/Fast'], 'extraPatterns' => ['GET dast' => 'fast']],
],
],
但我需要使用索引操作来进行各种计算,而不是我的自定义 "Fast" 操作。有办法吗?
其次,我想让这个 url 仅限于 GET url ,有没有办法让用户在他试图 post 此页面时发送到 404 错误?
如果您没有模型,您可以直接从 yii\rest\Controller 扩展并添加您需要的操作
这里你可以看到例子:
namespace api\controllers;
use yii\rest\Controller;
class MyController extends Controller
{
public function actionFast()
{
echo "XXX";
}
}
我正在为一些计算创建我自己的基于自定义的操作,必须由 restful api 在 json 中发送。问题是当我创建从 activecontroller 继承的控制器时,然后对于索引操作它询问模型 class.
我必须将索引操作与我自己的基于自定义的计算一起使用,它不需要存储在数据库中,所以我实际上根本不需要创建模型 class。这是我第一次使用 activecontroller,所以我不确定如何让索引页按照我的需要运行。
我可以使用我想要的任何名称创建我自己的基于自定义的操作,例如
public function actionFast()
{
echo "XXX";
}
在配置里面/ web.php
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true
,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => ['Apprest/Fast'], 'extraPatterns' => ['GET dast' => 'fast']],
],
],
但我需要使用索引操作来进行各种计算,而不是我的自定义 "Fast" 操作。有办法吗?
其次,我想让这个 url 仅限于 GET url ,有没有办法让用户在他试图 post 此页面时发送到 404 错误?
如果您没有模型,您可以直接从 yii\rest\Controller 扩展并添加您需要的操作
这里你可以看到例子:
namespace api\controllers;
use yii\rest\Controller;
class MyController extends Controller
{
public function actionFast()
{
echo "XXX";
}
}