我创建了一个名为 API 的控制器.php然后扩展了Rest_Controller。我注意到我只能在这个控制器中创建函数时使用 index_get((
<?php
class Api extends REST_Controller{
public function __construct()
{
parent::__construct();
}
public function index_get(){
$car_id = $this->get('car_id');
if(!$car_id){
$this->response("No Car ID specified", 400);
exit;
}
$result = $this->model_getvalues->getCars( $car_id );
if($result){
$this->response($result, 200);
exit;
}
else{
$this->response("Invalid Car ID", 404);
exit;
}
}
}
但是当我尝试创建我想要的函数(如 getAllCars(( 而不是index_get((时,我收到一条错误消息,告诉我未知函数。
在 CodeIgniter 中使用 rest api 库时,如何定义自己的函数而不是使用index_get((?
谢谢我已经能够弄清楚,我刚刚发现_get之前的名称对 url 很重要,即当一个人有像 getCars_get 这样的方法时,你将不得不只使用 getCars 调用它,而没有附加_get,它对我有用。 这意味着在 API 控制器中可以有多个_get方法。
默认情况下 https://github.com/chriskacerguis/codeigniter-restserver#handling-requests 该方法是 index_get((,另一种使用自己方法的方法是使用 HTTP GET 参数 前任:
if($this->get('car_id') == 'all'){
//your own function here
}
或者,如果您真的想创建自己的方法,可以参考此 http://programmerblog.net/create-restful-web-services-in-codeigniter/
您所要做的就是将函数 index_get(( 更改为 getAllCars_get((,
'<?php
类 API 扩展REST_Controller{
public function __construct()
{
parent::__construct();
}
public function getAllCars_get(){
//your code
}
} ?> ` 喜欢这个