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

问题描述 投票:0回答:1

我正在尝试使用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前缀之后看到我所有的方法。这可能是一个示例:

[orders

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()方法,但它们对我不起作用(我很确定它们已被弃用)。

非常感谢您的帮助。

swagger nestjs nestjs-swagger
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.