2013-03-01 88 views
2

我想在我的项目中实现一个Phill Sturgeon CodeIgniter RESTServer库。
我复制了文件rest.php,Format.php,REST_Controler.php分别在文件夹配置,库,库REST服务不工作 - 代码点火器

我创造我的控制器称为服务与下面的代码:

<?php 
require(APPPATH.'/libraries/REST_Controller.php'); 

class services extends REST_Controller { 

    function Teams_get(){ 

     $teamNames=$this->team_model->getTeamNames(); 

     $this->response($teamNames); 
    } 

TeamModel在我autoload.php自动加载。当我想在我的浏览器运行结果的方法Teams_get是:

{"status":false,"error":"Unknown method."}

我读here,我应该改变REST_Controler.php配置文件,但这种变化只应做,如果POST方法不工作。

我的服务应该是公开的,所以我不需要身份验证方法。

这里有什么问题?

+1

您使用什么URL访问您的API?你想去'/ services/Teams',而不是'/ services/Teams_get'。 '_get'(或'_post')是由服务器根据您访问URL的方式('GET'和'POST')添加的。 – 2013-03-01 20:04:26

+1

这是一个答案。请给它作为答案,以便我可以检查它!谢谢你,兄弟! – MrD 2013-03-01 20:22:07

+0

很高兴我可以帮忙:-D – 2013-03-01 20:26:43

回答

16

调用API时,URL应该只是方法的名称,不包含_get(或_post)。这是由REST服务器添加的,具体取决于URL的调用方式(GET vs POST)。

于是,打电话给你的Teams_get方法,你想送GET请求URL /services/Teams(不/services/Teams_get)。

Docs:https://github.com/philsturgeon/codeigniter-restserver#handling-requests