折腾一下框架请求的姿势
来源:互联网 发布:淘宝联盟可以赚钱吗 编辑:程序博客网 时间:2024/05/29 11:11
1.上节课我们已经学会了自定义的控制器
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'); }
- 折腾一下框架请求的姿势
- 各种姿势折腾 QEMU
- QtQuick折腾结论之model delegate 的正确使用姿势
- Android 探讨一下Retrofit封装的最佳姿势
- 小折腾一下swing
- 折腾了宝贵的3小时,备忘一下
- Mark 一下自己折腾Github IO的路途
- 刚接触Joomla,写一下瞎折腾的初感受~
- Retrofit各种姿势请求
- HTTP安全请求头 --- 可能绕waf的姿势
- Angular1中数据请求$http服务的正确使用姿势
- .NET下使用HTTP请求的正确姿势
- .NET下使用HTTP请求的正确姿势
- 【译】Vue框架引入JS库的正确姿势
- Vue框架引入JS库的正确姿势
- Vue框架引入JS库的正确姿势
- 折腾的。。。。。
- hiho一下 更为复杂的买卖房屋姿势(线段树)
- jsp打印日志完整配置
- 自定义RadioGroup 实现选择
- 网络通信库Libevent的基本介绍
- eclipse 项目能运行但是还是一个红叉
- 蓝牙音频传输格式:ACC,SBC,APTX和LDAC
- 折腾一下框架请求的姿势
- 数据结构——用python实现排序算法
- 学习安卓时犯下的错误总结(持续更新ing)
- 感知机的收敛性(Novikoff定理)证明(原创)
- 使用基于Mybatis注解,利用反射和注解生成SQL语句
- 《算法概论》习题8.3
- 微信公众平台测试号
- mysql所有表查询
- 内存溢出WAS生成的文件javacore.***.txt 、heapdump.***.phd、core.***.dmp、Snap.***.trc说明