如何使用route和rest api为codeigniter设置自定义URL?

时间:2016-03-29 19:27:50

标签: php codeigniter api rest routes

我实际上是在Codeigniter http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter--net-8814

中遵循REST API教程

它适用于简单的用例。

但是我想设置自定义路由网址以使用我的api更加用户友好,我解释...

例如:我想获得专用教室的学生名单 我希望用户设置http:myurl / api / classroom / 1 / students /

在路线配置文件中我设置:$ route ['api / classroom /(:num)/ students /'] ='api / classroom / students / $ 1';

它不起作用,因为REST API将(:num)解释为方法/函数。有办法管理这个案子吗?

在另一种情况下,拥有以下用例应该是很好的:对于教室ID 1,获取id为2的学生的数据=> HTTP:myurl / API /教室/ 1 /学生/ 2

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

我设法处理它,就像下面的例子

在路线档案中

$route['(api/users/email/(:any)/password/(:any))'] = 'api/users/by_credentials/$2/$3'; // User by id

在我的控制器中,获取这样的参数

public function by_credentials_get($email,$password){
    // ... ex: this->mymodel->testcredentials($email,$password)
}