牛骨文教育服务平台(让学习变的简单)
博文笔记

yii2关于HTTP请求处理的总结

创建时间:2015-08-05 投稿人: 浏览次数:147

1、VerbFilter

VerbFilter 是针对 HTTP 请求方式的过滤器,作用是定义访问指定动作所允许的HTTP请求,若不允许的HTTP请求到来,则会抛出一个 HTTP 405 错误。若不指定允许的请求方式,则默认允许当所有类型的请求方式 。

接下来,试一试 VerbFilter 的简单使用。

首先,在 SiteController 中添加代码
 

public function actionInfo()
    {
        return Yii::createObject([
            "class" => "yiiwebResponse",
            "format" => yiiwebResponse::FORMAT_JSON,
            "data" => [
                "message" => "hello world",
                "code" => 100,
            ],
        ]);
    }
上述代码,返回一个利用 FORMAT_JSON 格式化的字符串
使用URL:http://localhost/basic/web/index.php?r=site/info 访问的时候,成功返回

{"message":"hello world","code":100}

接着,在 behaviors() 中添加代码
public function behaviors()
    {
        return [
            ... ...
            "verbs" => [
                "class" => VerbFilter::className(),
                "actions" => [
                    "logout" => ["post"],                   
                    "info" => ["post"],
                ],
            ],
        ];
    }
上述代码,在 behaviors() 中使用了过滤器 VerbFilter ,指明访问动作 info 时,只能使用 POST 请求方式
此时,使用RESTClient工具,选择 GET 请求方式进行访问的时候,返回 405 错误

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。