【问题标题】:REST Service not working-Code IgniterREST 服务不工作-Codeigniter
【发布时间】:2013-03-01 17:15:34
【问题描述】:

我想在我的项目中实现一个 Phill Sturgeon CodeIgniter RESTServer 库。
我分别复制了 config,library,library 文件夹中的文件 rest.php, Format.php, REST_Controler.php

我使用以下代码创建了名为 services 的控制器:

<?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 方法不起作用时才能进行此更改。

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

这里有什么问题?

【问题讨论】:

  • 您使用什么 URL 来访问您的 API?你想去/services/Teams,而不是/services/Teams_get_get(或_post)由服务器添加,具体取决于您访问 URL 的方式(GETPOST)。
  • 这是一个答案。请给它作为答案,以便我检查它!谢谢你!
  • 很高兴我能帮上忙:-D

标签: php codeigniter rest


【解决方案1】:

调用您的 API 时,URL 应该只是方法的名称,没有 _get(或 _post)。它由 REST 服务器添加,具体取决于 URL 的调用方式(GETPOST)。

因此,要调用您的 Teams_get 方法,您需要向 URL /services/Teams(而不是 /services/Teams_get)发送一个 GET 请求。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多