Nestjs Swagger - 在不同的路线上发布不同的 API 文档
Nestjs Swagger - Publishing different API docs on separate routes
我正在构建一个包含 public API 和内部应用的应用。我想将这些文档发布到不同的路线。我认为这可以通过仅向文档添加某些标签来实现 (addTag
),但在进一步阅读和实验后它并没有完成这项工作。
文档始终包含所有内容,所有模块的所有记录端点。
这可能吗?如果是,怎么做?
我认为代码不是必需的,但 FWIW:
const pubOptions = new DocumentBuilder()
.setTitle('Pub API Docs')
.setDescription('Blah blah API documentation')
.setVersion(p.version)
.addBearerAuth()
.addTag('public-app')
.build();
const document = SwaggerModule.createDocument(app, pubOptions);
SwaggerModule.setup('public-api', app, document);
const internalOptions = new DocumentBuilder()
.setTitle('Internal API Docs')
.setDescription('Blah blah API documentation')
.setVersion(p.version)
.addBearerAuth()
.addTag('internal')
.build();
const iDocument = SwaggerModule.createDocument(app, internalOptions);
SwaggerModule.setup('internal-api', app, iDocument);
您需要告诉 SwaggerModule.createDocument
函数要在要组合的 swagger 中包含哪些模块。 Here are the related docs。作为第三个参数,您可以传入一个包含模块数组的 include
属性 对象。这些模块是和即将构建的swagger文档相关的。
我正在构建一个包含 public API 和内部应用的应用。我想将这些文档发布到不同的路线。我认为这可以通过仅向文档添加某些标签来实现 (addTag
),但在进一步阅读和实验后它并没有完成这项工作。
文档始终包含所有内容,所有模块的所有记录端点。
这可能吗?如果是,怎么做?
我认为代码不是必需的,但 FWIW:
const pubOptions = new DocumentBuilder()
.setTitle('Pub API Docs')
.setDescription('Blah blah API documentation')
.setVersion(p.version)
.addBearerAuth()
.addTag('public-app')
.build();
const document = SwaggerModule.createDocument(app, pubOptions);
SwaggerModule.setup('public-api', app, document);
const internalOptions = new DocumentBuilder()
.setTitle('Internal API Docs')
.setDescription('Blah blah API documentation')
.setVersion(p.version)
.addBearerAuth()
.addTag('internal')
.build();
const iDocument = SwaggerModule.createDocument(app, internalOptions);
SwaggerModule.setup('internal-api', app, iDocument);
您需要告诉 SwaggerModule.createDocument
函数要在要组合的 swagger 中包含哪些模块。 Here are the related docs。作为第三个参数,您可以传入一个包含模块数组的 include
属性 对象。这些模块是和即将构建的swagger文档相关的。