Nestjs Swagger-在不同的路由上发布不同的API文档

聚苯乙烯

我正在构建一个具有公共API和内部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函数要包含的模块中包含哪些模块。这是相关的文档作为第三个参数,您可以传入一个对象,该对象的include属性包含一个模块数组。这些模块是与将要构建的swagger文档相关的模块。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章