Codeigniter REST API 给出未知方法?

mao*_*r10 3 php rest codeigniter

我正在使用https://github.com/chriskacerguis/codeigniter-restserver和 codeigniter。我正在尝试添加资源,并启用带有 id 的 get 方法。我添加了继承 REST_Controller 的用户控制器。我添加了几个方法,index_get,index_post。他们都完美地工作。

然后我尝试向 index_get 函数添加一个 id 参数(这样你就可以访问一个特定的用户 - 例如localhost/proj/Users/4你会给你 id 4 的用户)

class Users extends REST_Controller {

    public function index_get($id) {
        echo $id;
    }

    public function index_post() {
       echo "post";
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用邮递员访问此 get 方法: localhost/proj/index.php/users/3但它的响应是:

{“状态”:假,“错误”:“未知方法”}

知道我该如何解决这个问题吗?

Ark*_*ung 5

根据CodeIgniter Rest Server doc,您可以访问请求参数如下:

$this->get('blah'); // GET param 
$this->post('blah'); // POST param 
$this->put('blah'); // PUT param
Run Code Online (Sandbox Code Playgroud)

所以,用户类应该是这样的..

class Api extends REST_Controller {

    public function user_get() {
        echo $this->get('id');
    }

    public function user_post() {
       echo $this->post('id');
    }
}
Run Code Online (Sandbox Code Playgroud)

当您使用邮递员进行测试时,您可以请求如下:

对于 get 方法,

http://localhost/proj/api/user?id=3
http://localhost/proj/api/user/id/3
Run Code Online (Sandbox Code Playgroud)

对于post方法,

http://localhost/proj/api/user
form-data : [id : 2]
Run Code Online (Sandbox Code Playgroud)

希望,它会对你有用。