gpt4 book ai didi

swagger - 在 Nest.js 项目中添加 Swagger 基本路径字段

转载 作者:行者123 更新时间:2023-12-04 10:33:39 26 4
gpt4 key购买 nike

我正在尝试使用 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
}
]
}
]
}
];

这样,一旦我生成并检查了 swagger,我就会看到我所有的方法都在 /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 有 hostbasePath 字段,但找不到任何方法在 Nest.js 中填充它。通过研究,我发现有 .setBasePath().addServer() 方法,但它们对我不起作用(我很确定它们已被弃用)。

非常感谢您的帮助。

最佳答案

如果您希望 nestjs 将 api/v1 添加到每个端点,请使用 setGlobalPrefix('api/v1') 来执行此操作。

https://docs.nestjs.com/faq/global-prefix#global-prefix

关于swagger - 在 Nest.js 项目中添加 Swagger 基本路径字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60295124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com