当应用插件里配置路由请求时用Route::get()请求不会经过配置的全局中间件。使用Route::any()请求是可以的。
use Webman\Route;
Route::group('/core', function () {
//这个get请求不经过全局中间件
Route::get('/admin/get-captcha', [plugin\admin\app\controller\AdminController::class, 'getCaptcha']);
//any请求经过了全局中间件
Route::any('/admin/get-captcha', [plugin\admin\app\controller\AdminController::class, 'getCaptcha']);
});
<?php
return [
// 全局中间件
'' => [
// ... 这里省略其它中间件
plugin\admin\app\middleware\CorsMiddleware::class,
plugin\admin\api\Middleware::class,
],
];
跨域请求会先发一个options请求,options请求通过了才会发get请求,只允许get请求无法跨域,收不到get请求。
跨域要用any或者把options加上,这些文档有说。
好的,谢谢。