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

如何为L5-Swagger中的所有URL统一添加前缀?

为L5-Swagger统一添加接口URL前缀

以下是几种无需逐个接口修改的实用解决方案:

方法1:直接修改L5-Swagger配置文件

打开项目根目录下的config/l5-swagger.php,找到paths配置节点,给api.base字段统一加上前缀:

'paths' => [
    'api' => [
        'base' => env('L5_SWAGGER_API_BASE_PATH', '/api/v1'),
        // 其他原有配置保持不变
    ],
],

修改完成后,执行命令清除配置缓存:

php artisan config:clear

方法2:借助Laravel路由分组自动继承前缀

如果你的接口本身已经在Laravel路由分组中设置了/api/v1前缀,只需让L5-Swagger自动识别该前缀即可:

  1. 确认你的接口路由(比如routes/api.php)已包含在前缀分组内:
Route::prefix('v1')->group(function () {
    // 所有接口路由定义
});
  1. 打开config/l5-swagger.php,在default.routes配置中指定你的路由文件路径:
'default' => [
    'routes' => [
        'api' => 'routes/api.php',
    ],
],

L5-Swagger会自动读取路由分组的前缀,无需额外手动设置。

方法3:通过全局Swagger注解设置前缀

若不想改动配置或路由结构,可在项目的Swagger注解入口文件(通常是swagger.php)中添加全局服务器前缀配置:

/**
 * @OA\Server(
 *     url=L5_SWAGGER_CONST_HOST . "/api/v1",
 *     description="API v1 服务器地址"
 * )
 */

这里的L5_SWAGGER_CONST_HOST是L5-Swagger内置的主机常量,会自动读取配置中的主机地址,所有接口将默认继承这个带前缀的路径。

注意:无论使用哪种方法,修改后都需要重新生成Swagger文档:

php artisan l5-swagger:generate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:05