Yii2 休息一下。如何向actionIndex发送post请求

Yii2 休息一下。如何向actionIndex发送post请求,yii2,Yii2,Yii2,基本模板,版本控制。 我正在尝试编写一个方法来返回令牌 这是我的令牌控制器: class TokenController extends Controller { public function actionIndex() { $model = new LoginForm(); $model->load(Yii::$app->request->bodyParams, ''); if ($token = $mode

Yii2,基本模板,版本控制。 我正在尝试编写一个方法来返回令牌

这是我的令牌控制器:

class TokenController extends Controller
{
public function actionIndex()
    {
        $model = new LoginForm();
        $model->load(Yii::$app->request->bodyParams, '');
        if ($token = $model->auth()) {
            return $token;
        } else {
            return $model;
        }
    }
}
和配置:

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'enableStrictParsing' => true, 
            'rules' => [
                ''=>'site/index',
            [
                    'class' => 'yii\rest\UrlRule',
                    'pluralize' => false, 
                    'controller' => [
                        'v1/token'
                    ],
                    'extraPatterns' => [
                        'GET <action>'=>'<action>',
                        'POST <action>'=>'<action>',
                    ],

                ],
'urlManager'=>[
“enablePrettyUrl”=>true,
'showScriptName'=>false,
'enableStrictParsing'=>true,
“规则”=>[
''=>'站点/索引',
[
'class'=>'yii\rest\UrlRule',
“多元化”=>错误,
“控制器”=>[
“v1/令牌”
],
“外部模式”=>[
“得到

对于完全相同的方法,actionLogin服务器返回:

默认情况下,
POST
模式创建一条规则以指向
创建
操作。这就是Yii试图在控制器中查找
创建
操作的原因。有关更多详细信息,请参阅

我没有测试它,但是您应该将
索引
方法重命名为
创建
,或者像这样覆盖默认模式

'patterns' => [
    'POST'=>'index',
],

默认情况下,
POST
模式创建一条规则,以指向
create
操作。这就是Yii试图在控制器中查找
create
操作的原因。有关详细信息,请参阅

我没有测试它,但是您应该将
索引
方法重命名为
创建
,或者像这样覆盖默认模式

'patterns' => [
    'POST'=>'index',
],

说真的,
actionCreate
而不是
actionIndex
很高兴它能工作。我想它之所以能这样工作,是因为通常
POST
数据试图创建一些东西,不管是什么,所以它是默认设置。如果它不适合您的用例,您应该能够覆盖该设置,
actionCreate
而不是
actionIndex
工作很高兴它能工作。我想它这样工作的原因是通常
POST
数据试图创建一些东西,不管是什么,所以它是默认设置。如果它不适合您的用例,您应该能够覆盖该设置