我正在使用从<{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方法?
答案 0 :(得分:0)
最后我找到了导致这个问题的原因。我以前在这个域上安装了SSL,但我试图用HTTP调用API。
在.htaccess中我有重写
RewriteRule ^ https://% {HTTP_HOST}%{REQUEST_URI} [L,R = 301]
强制使用HTTPS。
如果我使用HTTPS发出POST请求,它就像魅力一样。
如果我使用HTTP发出POST请求,它会重定向到HTTPS(因为重写规则),因此对新页面有一个新的GET请求。