yii restful和一般路由共存
<?php namespace app\controllers; use Yii;
use yii\rest\ActiveController; /**
*
*/
class TestController extends ActiveController
{ public $modelClass = 'app\models\Test'; public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['contentNegotiator']['formats'] = ['application/json' => yii\web\Response::FORMAT_JSON];
return $behaviors;
} public function actionHi($id)
{
return ['s', 2];
} }
上述代码中行为定义了默认返回json。
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'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\rest\UrlRule内部已经把路由做了处理。
如:
[
'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相关的配置前,按照一般的路由规则访问。
yii restful和一般路由共存的更多相关文章
- AngularJS html5Mode与ASP.NET MVC路由共存
前言 很久之前便听说AngularJS,非常酷,最近也比较火,我也在持续关注这个技术,只是没有认真投入学习.前不久公司找我们部门做一个OA系统(想省下几万大洋的费用),第一时间便想到AngularJS ...
- Yii restful api跨域
问题:NO 'Access-Control_Allow-Origin' header is present on the requested resource. 解决方案 <?php names ...
- php处理restful请求的路由(转载 http://www.jb51.net/article/47333.htm)
<?php class Router { // 路由表 private $routers = array( array("nam ...
- Yii Restful api认证
- Yii Restful api自定义字段
- Yii2 restful api创建,认证授权以及速率控制
Yii2 restful api创建,认证授权以及速率控制 下面是对restful从创建到速率控制的一个详细流程介绍,里面的步骤以及截图尽可能详细,熟悉restful的盆友可能觉得过于繁琐,新手不妨耐 ...
- 第二十一节:Asp.Net Core MVC和WebApi路由规则的总结和对比
一. Core Mvc 1.传统路由 Core MVC中,默认会在 Startup类→Configure方法→UseMvc方法中,会有默认路由:routes.MapRoute("defaul ...
- [水煮 ASP.NET Web API2 方法论](3-6)万能路由
问题 定义什么样的路由,可以不会受请求参数类型和数量的限制,而被全部捕获? 解决方案 在路由模板中,给参数添加一个"*"前缀,例如 {*param},只要请求的 URL 能够和路由 ...
- ruby -- 进阶学习(十)自定义路由中:new, :collection和:member的区别
学习链接:http://rubyer.me/blog/583/ RESTful风格的路由动词默认有7个(分别为:index, show, create, new, edit, update, dest ...
随机推荐
- spring-data-redis2.0以上配置redis连接
1.所需的maven依赖 <dependency> <groupId>org.springframework.data</groupId> <artifact ...
- callback function(回调函数) - 术语
回调函数(CallBack Function)的定义: [todo] 下面是callback的一个场景,linux内核.LwIP里也有使用callback funcs.
- 运维面试题之k8s
前言: 到了如今年k8s已经是事实上的容器集群标准了,是时候展现我真正的祖传k8s实力了 吐槽: 我干嘛要知道这些,能用不就行了k8s真香 Kubernetes有哪些特性? Kubernetes是自动 ...
- php 解密小程序获取unionid
小程序代码 php代码 public function login2() { $post = input(); if (!empty($post)) { $appid = $this->wxap ...
- ESP8266 RTOS SDK编译环境搭建
前提条件 1. linux操作系统或者windows下的linux虚拟机或者OS X操作系统 2. 联网 下载 * [Mac](https://dl.espressif.com/dl/xtensa-l ...
- 命令行下执行python找不包的解决方法
首先我们来了解一下,为什么会出现这样的问题,以及python搜索包的机制是怎么样的 1.为什么会出现这样的问题? 包是向下搜索机制. 2.为什么ide中执行没有报找不到包的问题? python搜索机制 ...
- windows----------Windows10 远程桌面连接失败,报CredSSP加密oracle修正错误解决办法
1.通过运行gpedit.msc进入组策略配置(需要win10专业版,家庭版无解),策略路径:“计算机配置”->“管理模板”->“系统”->“凭据分配”,设置名称: 加密 Oracl ...
- java快排思想
1分治思想 1.1比大小在分区 1.2从数组中取出一个数做基准数 1.3将比他小的数全放在他的左边,比他大的数全放在他的右边 1.4然后递归 左边 和右边 }
- 最新阿里云申请免费SSL证书实现网站HTTPS化(图文教程一)
一.申请免费SSL证书: 1.登录阿里云: 2.领取代金券礼包: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=0a ...
- Python之socketserver
import threading from socketserver import ThreadingTCPServer,BaseRequestHandler import sys import lo ...