【问题标题】:How to set custom url for codeigniter with route and rest api?如何使用 route 和 rest api 为 codeigniter 设置自定义 url?
【发布时间】:2016-07-17 13:07:35
【问题描述】:

我实际上正在关注 Codeigniter http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter--net-8814 中的 REST API 教程

它适用于简单的用例。

但我会设置自定义路由 url 以使我的 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/classroom/1/students/2

感谢您的帮助:)

【问题讨论】:

  • 尝试从路由文件和教室控制器中添加一些代码。如果您使用 1 或 2 个参数设置名为 'students' 的函数,它不起作用?喜欢:classroom.php:function students($id_classroom = null, $id_student = null){ ?也许你应该从你的路由分配部分删除api/
  • 事实上我已经解决了,谢谢

标签: php codeigniter api rest routes


【解决方案1】:

我设法处理了它,如下例所示

在路由文件中:

$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)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-27
    • 2015-02-16
    • 1970-01-01
    • 2017-09-23
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多