0

我正在使用 codeigniter 创建一个 restapi,但我遇到了一些路由问题。

这是等式:

我必须导航/users/到索引功能,

我必须导航/users/{MongoId}/users/show/{MongoId}

我必须导航/users/function/users/function.

在这里,我的路线:

$route['api/users/do_login'] = "api/users/do_login";
$route['api/users/(.*)'] = "api/users/show/$1";

当我删除(.*)路由(或两者)时,我的 do_login 函数成功运行。但不是我的 api-index 函数,因为 Codeigniter 将 MongoId 作为函数名并失败。

当我写回(或两者)时,我的索引功能成功运行,但我的登录没有。因为它尝试发送函数名称以将函数显示为参数。

你能帮我解决这个问题吗?

4

2 回答 2

1

的顺序颠倒routesCodeIgniters路由优先。

您寻求这种结构:

$route['api/users/(:any)'] = "api/users/show/$1";
$route['api/users/do_login'] = "api/users/do_login";

也使用(:any)代替(.*)它们是相同的。

CodeIgniter 路由

于 2013-06-10T00:46:36.263 回答
0

在这里,工作路线。

$route['api/users/do_login/(:any)'] = "api/users/do_login/$1";
$route['api/users/(:any)'] = "api/users/show/$1";
于 2013-06-10T01:59:39.743 回答