使用Laravel 8的CORS中间件解决跨域问题
Laravel 8的CORS中间件可以很方便地解决跨域问题,只需要在API路由中添加CORS中间件即可。
通过Composer安装barryvdh/laravel-cors中间件:
composer require barryvdh/laravel-cors
在config/cors.php中配置中间件,可以允许所有源(*)访问API:
return [ 'supportsCredentials' => false, 'allowedOrigins' => [''], 'allowedHeaders' => [''], 'allowedMethods' => ['*'], 'exposedHeaders' => [], 'maxAge' => 0, ];
在App\Http\Kernel中注册中间件,在$routeMiddleware数组中添加'cors' => \Barryvdh\Cors\HandleCors::class:
protected $routeMiddleware = [ // ... 'cors' => \Barryvdh\Cors\HandleCors::class, ];
在API路由中使用中间件,例如:
Route::middleware('cors')->get('/users', function () { return response()->json(['message' => 'Hello World!']); });
现在,您的API将允许CORS请求,并且所有源都可以访问它。