Codeigniter 3 + Restserver始终执行获取请求

时间:2016-10-21 12:23:12

标签: php codeigniter rest http codeigniter-restserver

我正在使用从<{3}}下载的 Codeigniter 3.1.0 Restserver 来自here文档 。我还使用Chrome的扩展程序 Postman

问题是即使我从Postman的下拉菜单中选择POST,它也会触及get方法...... 以下是代码:

defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH . '/libraries/REST_Controller.php';

class Example extends REST_Controller {
    function __construct() {
        parent::__construct();
    }
    public function users_get() {
        echo "get request";
    }
    public function users_post() {
        echo "post request";
    }
}

现在通过邮递员,如果我选择 GET 到网址 example-domain.com/api/example/users ,则预览为获取请求

如果我选择 POST 到同一网址 example-domain.com/api/example/users ,预览将再次获取请求,不发布请求

我没有在 config / rest.php 中更改任何内容,我在 控制器/中使用Restserver的实现示例API /示例

有谁知道为什么我无法点击POST方法?

1 个答案:

答案 0 :(得分:0)

最后我找到了导致这个问题的原因。我以前在这个域上安装了SSL,但我试图用HTTP调用API。

在.htaccess中我有重写

  

RewriteRule ^ https://% {HTTP_HOST}%{REQUEST_URI} [L,R = 301]

强制使用HTTPS。

如果我使用HTTPS发出POST请求,它就像魅力一样。

如果我使用HTTP发出POST请求,它会重定向到HTTPS(因为重写规则),因此对新页面有一个新的GET请求。