Laravel在URL中传递参数

I have a webhook in a website, so that when a certain action is performed, one of my functions in my Laravel app is executed with the PUT method. The webhook has the following url to execute app.myapp.com/sync/documents/gt?salesID=12345.

How do I receive this parameter in Laravel?

This is my route:

Route::put('/sync/vendus/documents/gt', 'SyncController@postVendusGT');

And then in my method I have:

public function postVendusGT($request){
    dd($request->salesID);
}

But I'm getting the following error:

Missing argument 1 for App\Http\Controllers\SyncController::postVendusGT()

Am I doing this right?

You need to inject the request object, this means adding the type. This tells Laravel the first parameter has to be a request object and not an url parameter.

public function postVendusGT(Request $request) {
    dd($request->salesID);
}

More information can be found in the documentation.

You have to type-hint $request

public function postVendusGT(Request $request)

Offering this as a couple of alternatives:

public function postVendusGT(){
    dd(\Request::get("salesID"));
}

or

public function postVendusGT(){
    $request = resolve('request');
    dd($request->salesID);
}

Just in case dependency injection is not possible in a given scenario.