API接口设计

目前网站基本都是前后端分离的模式,如果前端使用vue等框架会产生跨域的问题,当产生跨域的时候,一个接口会被访问两次,第一次会使用options访问来判断接口是否通,接下来才会使用指定的请求方式来访问,那么这样怎么办呢?
我们的共有controller就派上用场了,共有控制器里面的构造函数

 public function __construct() {
        parent::__construct();

        //这里就是判断是不是option方法了,如果是跨域产生的options直接给他返回就可以
        if(isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
            $this->response(0, "");
        }


    }

获取请求头的参数

 /**
     * 获取请求header
     *
     */
    function getallheaders($param = null) {
        $headers = array();
        foreach ($_SERVER as $name => $value) {
            if (substr($name, 0, 5) == 'HTTP_') {
                $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
            }
        }
        if($param != null){
            return $headers[$param];
        }
        return $headers;
    }
阅读更多

扫码向博主提问

杨家八公子

非学,无以致疑;非问,无以广识
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页