更改swagger 2.0 docs路径网址

An-*_*oid 5 node.js swagger typescript

这就是我配置swagger的方式:

 const openapi = Openapi.initialize({
    paths: openApiPaths,
    app,
    apiDoc,
  });
  const openApiSpec = openapi.apiDoc;

  console.log(openApiSpec);

  app.use(swaggerUI(openApiSpec));
Run Code Online (Sandbox Code Playgroud)

如何将基本路径更改/docs//projectName/docs/

我没有找到任何相关的答案

编辑

我的api doc在它自己的文件中描述如下:

export const apiDoc = {
  'x-express-openapi-additional-middleware': [checkBodyValidity],
  swagger: '2.0',
  basePath: '/api/v1',
  info: {
    title: 'Documentation Rest API',
    version: 'v1',
  },
  paths: {},
  definitions: {}
}
Run Code Online (Sandbox Code Playgroud)

CheckBodyValidity是一种检查请求参数有效性的中间件(与我的问题无关):

export const checkBodyValidity: any = (req, res, next) => {}
Run Code Online (Sandbox Code Playgroud)

Swagger在名为openapiSetup的文件中初始化如下:

export async function init(app: any): Promise<any> {

[...]

  const openapi = Openapi.initialize({
    paths: openApiPaths,
    app,
    apiDoc,
  });
  const openApiSpec = openapi.apiDoc;

  app.use(swaggerUI(openApiSpec));

}
Run Code Online (Sandbox Code Playgroud)

- > openApiPaths是文件的路径{}部分.它是由目录和文件名构成的

最后在快递应用中:

await openapiSetup.init(app);
Run Code Online (Sandbox Code Playgroud)

dzm*_*dzm 3

您的 YAML 中有什么?应该能够通过修改来更新您的路径:

# Relative URL to external documentation
externalDocs:
  url: /docs
  description: Find more info here
Run Code Online (Sandbox Code Playgroud)

更多信息[此处][1]

编辑:

您是否尝试将以下内容添加到您的 apiDoc 对象中?

export const apiDoc = {
  'x-express-openapi-additional-middleware': [checkBodyValidity],
  swagger: '2.0',
  basePath: '/api/v1',
  info: {
    title: 'Documentation Rest API',
    version: 'v1',
  },
  paths: {},
  definitions: {},
  externalDocs: {
     description: "Docs",
     url: "http://url/projectName/docs"
   }
}
Run Code Online (Sandbox Code Playgroud)