zoukankan      html  css  js  c++  java
  • yii restful和一般路由共存

    <?php
    
    namespace appcontrollers;
    
    use Yii;
    use yii
    estActiveController;
    
    /**
     * 
     */
    class TestController extends ActiveController
    {
    
        public $modelClass = 'appmodelsTest';
    
        public function behaviors()
        {
            $behaviors = parent::behaviors();
            $behaviors['contentNegotiator']['formats'] = ['application/json' => yiiwebResponse::FORMAT_JSON];
            return $behaviors;
        }
        
        public function actionHi($id)
        {
            return ['s', 2];
        }
    
    }

    上述代码中行为定义了默认返回json。

    'urlManager' => [
                'enablePrettyUrl' => true,
                'enableStrictParsing' => true,
                'showScriptName' => false,
                'rules' => [
                    [
                        'class' => 'yii
    estUrlRule', 
                        'pluralize' => false,  //关闭复数显示,如user访问变成了users
                        'controller' => 'test'
                    ],
                ],
            ],

    在没有开启上面的配置前,/test/1,可以通过index.php?r=test/view&id=1 访问,也就是一般的路由规则访问。

    没有开启enablePrettyUrl = true ,则通过/test/view?id=1访问。

    如果全部按照上面示例的配置,且配置controller,则可以直接/test/1访问,因为这个yii estUrlRule内部已经把路由做了处理。

    如:

    [

    'PUT,PATCH users/<id>' => 'user/update',

    'DELETE users/<id>' => 'user/delete',

    'GET,HEAD users/<id>' => 'user/view',

    'POST users' => 'user/create',

    'GET,HEAD users' => 'user/index',

    'users/<id>' => 'user/options',

    'users' =>'user/options',

    ]

    在没有开启restful相关的配置前,按照一般的路由规则访问。

  • 相关阅读:
    jmeter基础介绍
    mysql图形化工具navicat
    JMeter 进行压力测试
    windows ADB配置java adk / Android adk
    性能指标
    压力测试和负载测试(tps/qps)专项测试,吞吐量
    接口测试工具Postman
    charles步骤装
    Python列表操作
    Python字符串常见操作
  • 原文地址:https://www.cnblogs.com/luckcs/p/7159732.html
Copyright © 2011-2022 走看看