You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8:仅编辑web.php时,如何将路由加入API组并禁用Web中间件?

解决方法

你可以在web.php里通过自定义路由组,手动指定API中间件并移除默认的Web中间件组,具体代码如下:

Route::group([
    'middleware' => 'api',
    'withoutMiddleware' => 'web',
    'prefix' => 'api' // 可选,保持和API路由一致的前缀
], function () {
    // 在这里添加你的API路由
    Route::get('/demo', function () {
        return response()->json(['status' => 'success', 'message' => 'API路由测试']);
    });

    // 如果需要绑定控制器,直接引用类名即可(Laravel 8+语法)
    Route::post('/user/store', [App\Http\Controllers\UserController::class, 'store']);
});

关键参数说明:

  • middleware => 'api':给这个路由组应用Laravel默认的API中间件组,包含请求节流、模型绑定等API场景需要的功能
  • withoutMiddleware => 'web':移除web.php路由默认携带的Web中间件组(比如Session、CSRF防护等),确保路由完全符合API的行为
  • prefix => 'api':可选配置,让路由前缀和api.php里的路由保持一致,方便前端统一调用路径

这样定义的路由就和api.php中定义的路由效果完全一致,既使用了API中间件,又不会带上Web中间件的相关逻辑。

内容的提问来源于stack exchange,提问作者develhoper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 05:54:18