我在网站上有一个webhook,所以当执行某个动作时,我的Laravel应用程序中的一个功能是用PUT方法执行的。 webhook具有以下URL来执行app.myapp.com/sync/documents/gt?salesID=12345
。
如何在Laravel中收到此参数?
这是我的路线:
Route::put('/sync/vendus/documents/gt', 'SyncController@postVendusGT');
然后在我的方法中我有:
public function postVendusGT($request){
dd($request->salesID);
}
但我收到以下错误:
Missing argument 1 for App\Http\Controllers\SyncController::postVendusGT()
我这样做了吗?
答案 0 :(得分:4)
您必须输入提示$request
public function postVendusGT(Request $request)
答案 1 :(得分:3)
您需要注入请求对象,这意味着添加类型。这告诉Laravel第一个参数必须是请求对象而不是url参数。
public function postVendusGT(Request $request) {
dd($request->salesID);
}
更多信息可在the documentation中找到。
答案 2 :(得分:1)
提供以下几种选择:
public function postVendusGT(){
dd(\Request::get("salesID"));
}
或
public function postVendusGT(){
$request = resolve('request');
dd($request->salesID);
}
以防在特定情况下无法进行依赖注入。