2013-03-01 8 views
2

내 프로젝트에 Phill Sturgeon CodeIgniter RESTServer 라이브러리를 구현하고 싶습니다.
rest.php, Format.php, REST_Controler.php구성, 라이브러리, 라이브러리 폴더에 각각 복사했습니다. REST 서비스가 작동하지 않습니다. Code Igniter

나는 다음 코드를 사용하여 내 컨트롤러라는 서비스를 만들어 :

<?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."}

내가 POST 방법이 작동하지 않으면 내가 REST_Controler.php 구성 파일을 변경해야하지만,이 변화는 수행해야하는 here 읽기 .

내 서비스가 공개되어야하므로 인증 방법이 필요하지 않습니다.

여기에 무슨 문제가 있습니까?

+1

API에 액세스하기 위해 사용하는 URL은 무엇입니까? '/ services/Teams_get'이 아니라'/ services/Teams'로 가고 싶습니다. '_get' (또는'_post')는 여러분이 URL에 접근하는 방법 ('GET'과'POST')에 따라 서버에 의해 추가됩니다. –

+1

답변입니다. 제발, 대답으로주세요. 그래서 확인할 수 있습니다! 고마워요! – MrD

+0

다행스럽게도 도움이 될 수 있습니다 .-D –

답변

16

API를 호출 할 때 URL은 _get (또는 _post)없이 메소드의 이름이어야합니다. 이는 URL이 호출되는 방식에 따라 REST 서버에 의해 추가됩니다 (GET vs POST).

그래서, 당신의 Teams_get 메소드를 호출하기 위해, 당신은 URL /services/Teams (안 /services/Teams_get)에 GET 요청을 보내려고합니다.

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

관련 문제