使用带有默认URL GET格式而不是路径格式的yii rest api

使用带有默认URL GET格式而不是路径格式的yii rest api,yii,yii-url-manager,yii-rest,Yii,Yii Url Manager,Yii Rest,我对yii restapi有问题。我在yii框架页面上按照教程进行了配置,但之后我意识到我的api可以工作,但在我的页面的某些部分不能工作,因为它基于GET URL格式,而不是restapi所需的路径 因此,在我的config/main.php中,我有以下设置 'urlManager' => array ( 'urlFormat' => 'path', 'rules' => arra

我对yii restapi有问题。我在yii框架页面上按照教程进行了配置,但之后我意识到我的api可以工作,但在我的页面的某些部分不能工作,因为它基于GET URL格式,而不是restapi所需的路径

因此,在我的config/main.php中,我有以下设置

'urlManager' => array (
                        'urlFormat' => 'path',
                        'rules' => array (
                                'student/<id:\d+>/<title:.*?>' => 'student/view',
                                'students/<tag:.*?>' => 'student/index',

                                array (
                                        'apistudent/register',
                                        'pattern' => 'api/<model:\w+>',
                                        'verb' => 'POST' 
                                ),

                                '<controller:\w+>/<action:\w+>' => '<controller>/<action>' 
                        ) 
                ),
'urlManager'=>数组(
“urlFormat”=>“路径”,
'规则'=>数组(
“学生/”=>“学生/视图”,
“学生/”=>“学生/索引”,
排列(
“学生/注册”,
“模式”=>“api/”,
'动词'=>'后'
),
'/' => '/' 
) 
),
我还有一个名为ApiStudentController的控制器,其方法名为actionRegister()

如前所述,api正常工作,但我的页面不正常,因为我将urlFormat设置为“path”


问题是。。。如果没有路径url格式,而没有默认的get url格式(index.php?r=apistudent/register),如何使用RESTAPI?

我在yii 1.x中也遇到了同样的问题。我只需要我的API控制器单独使用旧的GET格式而不是PATH格式(因为我用PATH格式更改了我的网站URL)。最后,我在脚本文件中做了一个小改动,使它工作起来

$app = Yii::createWebApplication($env->configWeb); //store the app 
//Change the UrlFormat for urlManager to get if a get request is given instead of a path format one.
if (isset($_GET['r'])) {
    Yii::app()->urlManager->setUrlFormat('get');
}   
$app->run(); //run the app

我不知道这是否解决了你的问题。但这可以给你一个想法。快乐编码

我在yii 1.x中也遇到了同样的问题。我只需要我的API控制器单独使用旧的GET格式而不是PATH格式(因为我用PATH格式更改了我的网站URL)。最后,我在脚本文件中做了一个小改动,使它工作起来

$app = Yii::createWebApplication($env->configWeb); //store the app 
//Change the UrlFormat for urlManager to get if a get request is given instead of a path format one.
if (isset($_GET['r'])) {
    Yii::app()->urlManager->setUrlFormat('get');
}   
$app->run(); //run the app

我不知道这是否解决了你的问题。但这可以给你一个想法。快乐编码

嗨,你有办法吗?嗨,你有办法吗?