2013-12-13 67 views
0

我在为CI篝火设置Rest服务器时遇到问题。在codeigniter篝火中使用restful api获取404错误

我已按照此说明在此处安装它: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错误页面。

我错过了什么?我是否要求控制器严重或者是否存在路由问题? 任何帮助将不胜感激。

回答

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"; 

希望有人会发现这个方便。

+0

嘿!您如何将REST API与Bonefire集成?您是否将REST_Controller扩展到MX_Controller?到目前为止如何?我正在与这些家伙开始一个新项目,这对我们很重要。谢谢! – Sobiaholic