簡體   English   中英

在 Nest.js 項目中添加 Swagger 基本路徑字段

[英]Add Swagger base path field in Nest.js project

我正在嘗試使用 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM