ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5.1でカスタムCORSミドルウェアを実装するにはどうすればよいですか?
Laravel 5.1 で CORS を有効にする
Laravel 5.1 で API を開発する場合、リクエストを許可するには Cross-Origin Resource Sharing (CORS) を有効にすることが重要ですさまざまな起源から。さまざまな CORS ライブラリが存在しますが、この記事では、Laravel 5.1 向けに特別に調整されたカスタム ミドルウェア実装に焦点を当てます。
CORS 用ミドルウェア
CORS を有効にするには、次の場所にミドルウェア クラスを作成します。 app/Http/Middleware/CORS.php:
use Closure; class CORS { public function handle($request, Closure $next) { header("Access-Control-Allow-Origin: *"); $headers = [ 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE', 'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin' ]; if ($request->getMethod() == "OPTIONS") { return Response::make('OK', 200, $headers); } $response = $next($request); foreach ($headers as $key => $value) { $response->header($key, $value); } return $response; } }
ミドルウェアの登録
app/Http/Kernel.php:
にミドルウェアを登録します。protected $routeMiddleware = [ 'cors' => 'App\Http\Middleware\CORS', ];
ミドルウェア
ルートで CORS ミドルウェアを使用するには、「middleware」 => を追加します。ルート定義への 'cors':
Route::get('example', ['middleware' => 'cors', function () { return 'example'; }]);
Laravel ^8.0 Update
Laravel バージョン 8.0 以降では、コントローラーの名前空間をインポートし、次のようなクラス名:
use App\Http\Controllers\ExampleController; Route::get('example', [ExampleController::class, 'dummy'])->middleware('cors');
これらの手順に従うことで、簡単に有効にすることができますLaravel 5.1 API の CORS により、さまざまなドメインからのリクエストが許可され、安全で柔軟な API 環境が提供されます。
以上がLaravel 5.1でカスタムCORSミドルウェアを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。