php - Call a route of post method from laravel
I want to call a route of the post method from the Laravel API part i.e. not from the blade file.
this is my route
Route::post('/logout', [LogoutController::class, 'destroy'])->name('logout');
This is destroy function in LogoutController class
public function destroy(Request $request) {}
I have tried with the below code. But these are not working.
return redirect()->route('logout', ['request' => $request]);
return redirect()->route('logout', [$request]);
return redirect()->route('logout')->with('request', $request);
Note: The method should be post only. We can't change this to GET.
Thanks.
Answer
Solution:
POST methods cannot just be called like that. You can only redirect to GET routes. If you wish to perform a logout from your middleware, just call the Auth::logout() function from the middleware like you would in the controller function, and flush the session afterwards ($request->session()->invalidate();).
If you really want to use a POST method route, you'll have to use a client such as Guzzle