1

codeigniter で開発された API への呼び出しを実行する iPhone アプリケーションがあります。私はフレームワークに慣れていないので、そのような API が通常どこにあるのか知りたいですか? iPhone アプリケーションから API に要求される URL は次のとおりです。

http://example.com/site/welcome/admin/api/processingdocuments/

フォルダを調べたところ、application/librariesや のような php ファイルのベンチがありrest.phpますREST_Controller.php。これらは私が探しているファイルですか? 上記の URL は特定のファイルを指していないため、どの API が呼び出されているかを知るにはどうすればよいでしょうか? 前もって感謝します。

4

1 に答える 1

6

Phil Sturgeon の CodeIgniter Restserver (これはあなたが使用しているように見えます) を使用する場合、ディレクトリ内にコントローラーをセットアップし、application/controllers彼のクラスを拡張します。

controller を呼び出すとFoobarします。これは次のようになります。

class Foobar extends Rest_Controller {

  //... your methods here

}

この場合、このエンドポイントにアクセスします。http://example.com/foobar


URL は、Rest_Controller を直接参照するのではなく、コントローラーを参照します。

URL は次のようになります。

http://example.com/{controller}/{method}/{param1}/{param2}/.../{paramN}

メソッドが指定されていない場合、デフォルトでindex()


さらに、Restserver を使用すると、メソッドを HTTP リクエスト メソッドにマップできます。そのような

GET example.com/foobar はメソッドにマップされindex_get() ます POST example.com/foobar はメソッドにマップされますindex_post() .. など。

ドキュメントを読むことを強くお勧めします


あなたの例では、呼び出されているコントローラーが にあると予想されapplication/controllers/siteます。

ただし、これは、htaccess 書き換えルール (.htaccessファイルを確認) を使用して変更されたか、再定義された CI ルート (確認application/config/routes.php) を介して変更された可能性があります。


他のすべてが失敗した場合:

デフォルトの構成では、そこにあるはずですが、CI はルートで非常に順応性が高く、ルートがどこにあるかを特定するのは困難です。extends Rest_Controllerコントローラーがどこにあっても、そのクラスを拡張するため、ディレクトリで単語をgrepするのが最善の策です。

于 2013-05-02T20:19:25.633 に答える