要摆脱Laravel 5.8中的所有重定向和“非api”行为,您可以采取以下步骤:
php artisan make:middleware RedirectMiddleware
RedirectMiddleware
类中,将handle
方法更改如下:public function handle($request, Closure $next)
{
if ($request->ajax() || $request->wantsJson()) {
return $next($request);
}
abort(404);
}
这个中间件将检查请求是否是AJAX请求或需要JSON响应,如果是,则继续处理请求。否则,它将返回一个404错误。
app/Http/Kernel.php
文件的$routeMiddleware
数组中注册中间件:protected $routeMiddleware = [
// ...
'redirect' => \App\Http\Middleware\RedirectMiddleware::class,
];
redirect
中间件。例如,如果您希望中间件应用于所有路由,可以在web
中间件组中使用它:Route::group(['middleware' => ['web', 'redirect']], function () {
// 路由定义
});
这样,所有不是AJAX请求或不需要JSON响应的路由都将返回404错误。
请注意,这只是一种方法,可能需要根据您的具体需求进行修改。希望对您有所帮助!
上一篇:摆脱空字符串列表
下一篇:摆脱两个foreach循环