关于yii2 REST api 的问题
首先,需要在basic/web/文件夹下添加一个.htaccess文件
这样进入项目就会自动访问index.php文件,url就不会错乱了
<IfModule mod_rewrite.c>
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
</IfModule>
接下来详解一下官方文档里的东西
首先,创建一个 yii\db\ActiveRecord 类app\models\User来访问user表
然后,创建一个控制器类 app\controllers\UserController 如下,
<?php namespace app\controllers; use yii\rest\ActiveController; class UserController extends ActiveController
{
public $modelClass = 'app\models\User';
}
Then, modify the configuration about the urlManager component in your application configuration:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
],
]
// 用于表明urlManager是否启用URL美化功能,在Yii1.1中称为path格式URL,
// Yii2.0中改称美化。
// 默认不启用。但实际使用中,特别是产品环境,一般都会启用。
public $enablePrettyUrl = false; // 是否启用严格解析,如启用严格解析,要求当前请求应至少匹配1个路由规则,
// 否则认为是无效路由。
// 这个选项仅在 enablePrettyUrl 启用后才有效。
public $enableStrictParsing = false;
// 指定是否在URL在保留入口脚本 index.php
public $showScriptName = true;
改成上述设置后,http://localhost/basic/web/users 可以直接访问api(注意自动帮你加了个s)
现在来详解一下一个urlManager的配置规则:
'urlManager' => [
'enablePrettyUrl' => true,//true 打开美化
'enableStrictParsing' => true,//true启用严格解析,要求当前请求应至少匹配1个路由规则,不给路由就404,例如http://localhost/basic/web/就会404;false就是自己找index
'showScriptName' => false,//指定是否在URL在保留入口脚本 index.php
'rules' => [
['class' => 'yii\rest\UrlRule',
'controller' => 'user',
'pluralize'=>true], //true需要访问users; false需要访问user,默认是true
],
],
GET /users: 逐页列出所有用户HEAD /users: 显示用户列表的概要信息POST /users: 创建一个新用户GET /users/123: 返回用户 123 的详细信息HEAD /users/123: 显示用户 123 的概述信息PATCH /users/123andPUT /users/123: 更新用户123DELETE /users/123: 删除用户123OPTIONS /users: 显示关于末端/users支持的动词OPTIONS /users/123: 显示有关末端/users/123支持的动词
关于yii2 REST api 的问题的更多相关文章
- Yii2 Restful Api 401
采用Yii2 Restful Api方式为APP提供数据,默认你已经做好了所有的编码和配置工作.采用Postman测试接口: 出现这个画面的一个可能原因是:access_token的写法有误,如果你使 ...
- Yii2 restful api创建,认证授权以及速率控制
Yii2 restful api创建,认证授权以及速率控制 下面是对restful从创建到速率控制的一个详细流程介绍,里面的步骤以及截图尽可能详细,熟悉restful的盆友可能觉得过于繁琐,新手不妨耐 ...
- yii2 RESTful API 405 Method Not Allowed
关于 Yii2 中 RESTful API 的开发,可以参考另一篇随笔 http://www.cnblogs.com/ganiks/p/yii2-restful-api-dev.html 测试的过程中 ...
- yii2 RESTful api的详细使用
作者:白狼 出处:http://www.manks.top/yii2-restful-api.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- Yii2 Restful api设计--App接口编程
Yii2框架写一套RESTful风格的API,对照魏曦教你学 一,入门 一.目录结构 实现一个简单地RESTful API只需用到三个文件.目录如下: frontend ├─ config │ └ m ...
- yii2 restful api——app接口编程实例
<?php namespace common\components; use common\models\Cart; use common\models\User; use Yii; use y ...
- Yii2 Restful API 原理分析
Yii2 有个很重要的特性是对 Restful API的默认支持, 通过短短的几个配置就可以实现简单的对现有Model的RESTful API 参考另一篇文章: http://www.cnblogs. ...
- yii2 RESTful API Develop
参考文档:http://www.yiiframework.com/doc-2.0/guide-rest.html 以 DB 中的 news 表为例创建该资源的 RESTful API,最终的测试通过工 ...
- Yii2 components api/controller
When we wrote API, those controllers need to implement the following feature: 1. return JSON format ...
随机推荐
- 关于iOS开发的学习
关于iOS开发的学习,打个比方就像把汽车分解: 最底层的原料有塑料,钢铁 再用这些底层的东西造出来发动机,座椅 最后再加上写螺丝,胶水等,把汽车就拼起来了 iOS基本都是英文的资料, ...
- Python中的X[:,0]和X[:,1]
https://blog.csdn.net/csj664103736/article/details/72828584 python中 x=x[1:] 是什么意思 将x的第二位到最后一位的内容赋给x. ...
- Kubernetes 在知乎上的应用
从 Mesos 到 Kubernetes 之前的调度框架是基于 Mesos 自研的.采用的语言是 Python.运行了大概两年多的时间了,也一直比较稳定.但随着业务的增长,现有的框架的问题逐渐暴露. ...
- 10 个深恶痛绝的 Java 异常
异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题. 今天,来列一下 Java 中经常遇到的前 10 个异常,排名 ...
- storm 入门介绍(持续更新)
storm的集群表面上看和hadoop的集群非常像.但是在Hadoop上面你运行的是MapReduce的Job, 而在Storm上面你运行的是Topology.它们是非常不一样的 — 一个关键的区别是 ...
- 010——VUE中使用lodash库减少watch对后台请求的压力
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【pat-1074】宇宙无敌加法器(高精度)
链接:https://www.patest.cn/contests/pat-b-practise/1074 地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每 ...
- Ubuntu的root用户问题
在Ubuntu中系统是默认禁止root用户登入操作,要使用超级用户可以加sudo 例: sudo chown book:book /work -R 或者切换到root su root passwor ...
- LeetCode OJ:Majority Element II(主元素II)
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...
- 如何将桌面的路径定义到其它盘符,如d:\users\桌面
首先要在“开始”——“运行”内输入“regedit”打开注册表编辑器,然后要在“文件”下拉菜单中的“导出”功能备份好注册表,以防万一,接着在左侧窗口依次打开: HKEY_CURRENT_USER\So ...