【问题标题】:Getting 404 error in codeigniter bonfire using restful api使用restful api在codeigniter bonfire中出现404错误
【发布时间】:2013-12-13 10:33:19
【问题描述】:

我在为 CI bonfire 设置 Rest Server 时遇到问题。

我已经按照这里的说明安装了它:https://github.com/philsturgeon/codeigniter-restserver

我创建了一个如下所示的新控制器:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

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

class Hello extends REST_Controller{

function user_get()  
{  
    $data = array('returned: '. $this->get('id'));  
    $this->response($data);  
}  

function user_post()  
{         
    $data = array('returned: '. $this->post('id'));  
    $this->response($data);  
}  

function user_put()  
{         
    $data = array('returned: '. $this->put('id'));  
    $this->response($data);  
}  

function user_delete()  
{  
    $data = array('returned: '. $this->delete('id'));  
    $this->response($data);  
}  

}

?>

现在,我的网址看起来像这样:http://website.com/public/admin/hello/user/id/1 在这里我得到一个 404 错误页面。

我错过了什么?我是否对控制器提出了错误的要求,或者是否存在路线问题? 任何帮助将不胜感激。

【问题讨论】:

    标签: php codeigniter rest


    【解决方案1】:

    好的,我的问题似乎与 codeigniter 路由有关。 评论这些行解决了我的问题:

    $route[SITE_AREA .'/([a-z_]+)/(:any)/(:any)/(:any)/(:any)/(:any)']      =    "$2/$1/$3/$4/$5/$6";
    $route[SITE_AREA .'/([a-z_]+)/(:any)/(:any)/(:any)/(:any)']     = "$2/$1/$3/$4/$5";
    $route[SITE_AREA .'/([a-z_]+)/(:any)/(:any)/(:any)']        = "$2/$1/$3/$4";
    $route[SITE_AREA .'/([a-z_]+)/(:any)/(:any)']       = "$2/$1/$3";
    $route[SITE_AREA .'/([a-z_]+)/(:any)']              = "$2/$1/index";
    

    但在这些路线之上编写一条新路线更好。

    $route[SITE_AREA .'/hello/(:any)']  = "admin/hello/$1";
    

    希望有人会觉得这很方便。

    【讨论】:

    • 嘿!您是如何将 REST API 与 Bonefire 集成的?您是否将 REST_Controller 扩展到 MX_Controller?到目前为止进展如何?我正在和他们一起开始一个新项目,这对我们很重要。谢谢!
    猜你喜欢
    • 2017-08-16
    • 1970-01-01
    • 2013-09-20
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    相关资源
    最近更新 更多