折腾一下框架请求的姿势
2017-01-15 10:32
190 查看
1.上节课我们已经学会了自定义的控制器
http://localhost/yiiserver/web/index.php?r=user/index/
就可以访问我们的
2.穿插一个路由知识点
毕竟
通过文档http://www.yiichina.com/doc/guide/2.0/rest-routing,我们做一些改造
然后我们就可以这样访问了:
3.Yii框架表单安全机制
框架会要求你在提交时传入一个参数(这个参数由框架预先生成),你可以放到隐藏文本里,提交时带过去就可以了。
Yii里面这个提交参数叫做
生成这个参数可以通过
不过很可惜,这个功能我们API开发用不到,所以直接关掉即可。
4.请求格式
默认POST请求,Content-Type的值为
后端这样接收:
如果Content-Type是
发送json格式的数据:
后端这样接收:
这个是PHP原生的方式,但在Yii里我们可以简单配置一下就可以转换了
然后后端就可以这样接收数据了:
http://localhost/yiiserver/web/index.php?r=user/index/
就可以访问我们的
UserController下面的方法
actionIndex
2.穿插一个路由知识点
毕竟
index.php?r=user/index这种地址太难看了,
通过文档http://www.yiichina.com/doc/guide/2.0/rest-routing,我们做一些改造
config/web.php打开下面代码的注释:
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ],
然后我们就可以这样访问了:
http://localhost/yiiserver/web/index.php/user/index/。
3.Yii框架表单安全机制
框架会要求你在提交时传入一个参数(这个参数由框架预先生成),你可以放到隐藏文本里,提交时带过去就可以了。
Yii里面这个提交参数叫做
_csrf,
生成这个参数可以通过
echo \Yii::$app->request->csrfToken;。
不过很可惜,这个功能我们API开发用不到,所以直接关掉即可。
public function init() { $this->enableCsrfValidation = false; }
4.请求格式
默认POST请求,Content-Type的值为
application/x-www-form-urlencoded,请求体是以
id=3&name=jack这样的形式发送的。
后端这样接收:
echo \Yii::$app->request->post('id'); echo \Yii::$app->request->post('name');
如果Content-Type是
application/json呢?
发送json格式的数据:
{"id":3,"name":"jack"}
后端这样接收:
$body = file_get_contents("php://input"); echo json_decode($body)->name; //'jack'
这个是PHP原生的方式,但在Yii里我们可以简单配置一下就可以转换了
config/web.php:
'request' => [ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => 'xxxooooo', 'parsers' => [ 'application/json' => 'yii\web\JsonParser', 'text/json' => 'yii\web\JsonParser' //这种类型,可以也用json解析器 ], ],
然后后端就可以这样接收数据了:
function actionIndex() { // $body = file_get_contents("php://input"); // echo json_decode($body)->name; //'jack' echo \Yii::$app->request->post('name'); }
相关文章推荐
- 宣传一下绝对耳目一新的Hybrid App框架-easyfb
- 用Java搭建微信公众号(一)构建基础请求框架
- (安卓) MVP 框架 (Rxjava2+Retrofit)结合 实现网络请求
- Python爬虫——9.scrapy框架get/post请求
- 一步步搭建Retrofit+RxJava+MVP网络请求框架(一)
- HttpUrlConnection和HttpClient和android-async-http框架的GET和POST请求
- 前端框架 EasyUI (1)熟悉一下EasyUI
- yii2框架-restful的请求参数token验证(二十三)
- 用struts 和 Spring 框架实现数据的CRUD操作 整理一下!
- Volley框架请求取消的实现
- 自己动手写一个轻量级的Android网络请求框架
- iOS 网络请求框架比较
- Volley网络请求框架解析
- android 网络请求中框架类的原理demo
- 认识一下,同步技术框架 Microsoft Sync Framework
- Android Volley框架的几种post提交请求方式[转]
- uploadify报错,自动请求框架的url地址
- Android网络请求框架----okHttp3
- 网络请求框架对比
- 30分钟上手最火android网络请求框架Retrofit