Laravel3のコントローラーを使用してRESTAPIを構築していますが、次の構造を実現したいと考えています。
/api/controller/{param}/method/{optional param}
現在、メソッドごとに個別のルートを設定していますが、これは面倒な解決策のようです。
Route::any('api/ControllerA/(:any)/MethodA/(:any?)','api.ControllerA@MethodA');
Route::any('api/ControllerA/(:any)/MethodB/(:any?)','api.ControllerA@MethodB');
// etc.
Route::any('api/ControllerB/(:any)/MethodA/(:any?)','api.ControllerB@MethodA');
// etc.
そして最後に、無効な呼び出しを処理するためのキャッチオール:
Route::any('api/(:all)',function(){
// return invalid call 404 response
});
これは問題なく機能しますが、これが最適なソリューションであるとは想像できません。この投稿が示唆するようなことをすることを検討するかもしれませんが、それはいくつかのかさばるAPIコントローラーにつながると思います。足りないものはありますか?