2016-06-16 36 views
2

我正在使用Basic Auth在laravel(REST服務器)中開發應用程序。使用郵差,我已經實現的所有GET請求似乎工作,但不幸的是POST請求不。REST式應用程序中的MyController缺少參數1

routes.php文件:

Route::post('my/action', '[email protected]'); 

我的控制器:

public function __construct() 
{ 
    $this->middleware('auth.basic.once'); 
} 

public function postMyAction($request) 
{ 
    // some logic here 
} 

的問題是,這樣一來,設置憑據,並在郵差一些PARAMS後,會出現以下異常:

對於 缺少參數1 App \ Http \ Controllers \ MyController :: postMyAction()

有誰知道如何將請求放入路由中定義的後處理函數中嗎?

在此先感謝。

回答

2

Laravel提供了依賴注入控制器方法,但是你需要typehint正是你想要什麼,所以Laravel知道要注入什麼:

public function postMyAction(\Illuminate\Http\Request $request) 
{ 
    // Now $request is available 

現在Laravel知道你想要的Illuminate\Http\Request一個實例,它會提供給您。

當然,您也可以在控制器的頂部粘貼use Illuminate\Http\Request;,然後鍵入提示Request $request作爲參數。

+0

它的工作原理,謝謝。我不知道那裏需要那種類型的提示。 – Tom11