我正在尝试使用nestjs / swagger从后端创建一个swagger文件,并且遇到与基本路径有关的问题。我要实现的是将版本显示为基本路径,而不是在所有可用方法中都显示它,这很丑陋且令人困惑。
我的API现在具有以下结构(这是app.module.ts
中的一组):
const routes: Routes = [
{
path: '/api',
module: ApiModule,
children: [
{
path: '/v1',
module: V1Module,
children: [
{
path: '/orders',
module: OrdersModule
},
{
path: '/users',
module: UsersModule
}
]
}
]
}
];
这样,一旦生成并检查了招摇,我便看到所有方法都位于/api/v1
前缀之后。这可能是一个例子:
订单
GET /api/v1/orders
POST /api/v1/orders
GET /api/v1/orders/{order_id}
...
用户
GET /api/v1/users
POST /api/v1/users
GET /api/v1/users/{user_id}
...
我想要摆脱出现在任何方法中的/api/v1
。我知道SWAGGER具有host
和basePath
的字段,但是在Nest.js中找不到任何填充它的方法。经过研究,我发现有.setBasePath()
和.addServer()
方法,但是它们对我不起作用(我很确定它们已被弃用)。
非常感谢您的帮助。
答案 0 :(得分:2)
如果您希望nestjs将api / v1添加到每个端点,请使用setGlobalPrefix('api/v1')
进行操作。