2
我正忙於在Laravel 5.1中構建一個Restful API,API版本通過頭部傳遞。這樣我就可以版本化功能,而不是複製和粘貼整個路由組並增加版本號。攔截Laravel路由
我遇到的問題是,我想有版本的方法,即:
public function store_v1(){ }
我已經加入我的路線中間件,我捕獲來自頭的版本,但現在需要修改請求以從控制器中選擇正確的方法。
應用程序/ HTTP/routes.php文件
Route::group(['middleware' => ['apiversion']], function()
{
Route::post('demo', '[email protected]');
}
應用程序/ HTTP /中間件/ ApiVersionMiddleware.php
public function handle($request, Closure $next)
{
$action = app()->router->getCurrentRoute()->getActionName();
// dd($action)
// returns "App\Http\Controllers\[email protected]"
}
從現在起,我會附上頭版本到$操作,然後將它傳遞給$ request,以便它達到正確的方法。那麼,無論如何,這就是理論。
有關如何將動作注入到路由的任何想法?
Doe這仍然工作在Laravel 5.2? – gvhuyssteen
不幸的是,這個方法在5.2中被刪除。請參閱http://stackoverflow.com/a/36779587/926953瞭解備用(但功能較弱)的選項。 – rabbitfang