2015-08-16 23:07:19 10999次浏览 8条回答 1 悬赏 10 金钱
'urlManager' => [
    'enablePrettyUrl' => true,
    //'enableStrictParsing' => true,
    'showScriptName' => false,
    'rules' => [
        ['class' => 'yii\rest\UrlRule', 'controller' => 'category'],
    ],
],

enableStrictParsing这个属性,所谓的严格匹配rules规格?如果注释去,访问就正常,加上就404.
而且教程说的路由控制器默认是复数,但是我加不加都能访问(y结尾的改成ies我是明白的)
最后还有个疑问。自己写了一个方法,访问却是404.

public function actionGetList()
{
    return '123';
}

yii2的demo真心太少,百度出来的都是互相copy的,不知道这里是不是最后的避风塘了?

  • 回答于 2015-08-17 00:01 举报

    表示网上的教程没有任何问题,但貌似不是你这样写的。。。

  • 回答于 2015-08-18 14:13 举报

    两方面原因,一是教程本身不完备,二是你没完全理解REST的意义
    RESTful真意是以资源为中心而不是页面,所以YII2给每个资源只给了有限的几个action,而且是以Action类的形式写的,框架默认的action都写在yii\rest包下(XXXAction.php就表示相应的动词操作,源代码很少,你可以直接看看),如果这个资源的所有动词都是默认的话是则它的controller里除了modelClass是不用写任何代码的.

    如果想要自定义动词必须继承rest包下对应的Action类,然后在controller重写actions指向你的新action

    1 条回复
    回复于 2017-01-12 12:45 回复

    恩,涨姿势了

    觉得很赞
  • 回答于 2015-08-18 16:04 举报

    我也有好多看不懂的,慢慢来呗

  • 回答于 2016-03-29 20:36 举报

    我和你一样遇到这样的问题

  • 回答于 2016-07-20 14:58 举报

    我没有用yii\rest\UrlRule这个路由规则,而是最基本的一般URL规则'<controller:\w+>/<action:\w+>' => '/'。
    参考:http://www.yiichina.com/tutorial/868

  • 回答于 2017-04-21 13:56 举报

    今天我也碰到类似问题了:

    http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html
    

    根据上面这个官网教程写的例子,访问时是有问题的:
    访问以下网址时报404错误(无此页面):

    http://localhost/users/5
    

    正确的写法是:(应返回id=5的记录详情信息)

    http://localhost/user/5
    

    需要注意的是,访问列表信息的链接是正确的(要用复数形式):

    http://localhost/users
    

    如果要保证访问列表信息和详情信息时都使用单数形式,需要在config\main.php加个参数:

    'pluralize'=>false,
    

    即:

    D:\phpwork\advanced\frontend\config\main.php
            'urlManager' => [
                'enablePrettyUrl' => true,
                'enableStrictParsing' => true,
                'showScriptName' => false,
                'rules' => [
                    [
                        'class' => 'yii\rest\UrlRule',
                        'controller' => 'user',
                        'pluralize'=>false,
                    ],
                ],
            ],
    
    3 条回复
    回复于 2017-06-22 11:43 回复

    我也是按照文档配置的,不管怎么访问都是 404 = =# 崩溃

    回复于 2017-06-22 11:45 回复

    可以参考下面这个贴子:
    http://www.yiichina.com/topic/6905

    回复于 2017-06-22 11:48 回复

    多谢,我再试试

    觉得很赞
  • 回答于 2018-03-30 16:38 举报

    <?php echo "sdfasdf

  • 回答于 2018-03-30 16:38 举报

    D:\phpwork\advanced\frontend\config\main.php

        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                [
                    'class' => 'yii\rest\UrlRule',
                    'controller' => 'user',
                    'pluralize'=>false,
                ],
            ],
        ],
    
您需要登录后才可以回答。登录 | 立即注册
kiddkyd
实习生

kiddkyd

注册时间:2015-08-09
最后登录:2015-09-05
在线时长:0小时48分
  • 粉丝0
  • 金钱10
  • 威望0
  • 积分10

热门问题