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 関数が正常に機能します。しかし、Codeigniter は MongoId を関数名として受け取り、失敗するため、私の api-index 関数ではありません。

書き戻す (または両方) と、インデックス機能は正常に機能しますが、ログインは機能しません。関数名をパラメーターとして表示関数に送信しようとするためです。

それを修正するのを手伝ってもらえますか?

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 に答える