页面存档备份,存于互联网档案馆 clementoh/better-openapi-viewer-nestjs
NestJS适配器用于更好的OpenAPI查看器.
使用量
import { SwaggerModule } from '@nestjs/swagger';
import { setupBetterOpenApiViewer } from '@clementoh/better-openapi-viewer-nestjs';
const document = SwaggerModule.createDocument(app, swaggerConfig);
setupBetterOpenApiViewer(app, {
path: 'docs',
jsonPath: 'docs/openapi.json',
document,
title: 'Example API',
defaultExpansion: 'list',
deepLinking: true,
filter: true,
displayRequestDuration: true,
supportedSubmitMethods: ['get', 'post', 'patch', 'delete'],
persistAuthorization: false,
});
适配器服务于OpenAPI JSON文档和一个轻量级取景器外壳而无需更改NestJS的装饰器或 @nestjs/swagger 文档生成.
多个文档
使用 specs 当同一 NestJS app 显示不止一个 OpenAPI 文档时. 每个光谱都得到了自己的JSON端点,而取景器会制作一个小的文档切换器.
setupBetterOpenApiViewer(app, {
path: 'docs',
specs: [
{
name: 'Public API',
path: 'docs/public',
jsonPath: 'docs/public/openapi.json',
document: publicDocument,
},
{
name: 'Admin API',
path: 'docs/admin',
jsonPath: 'docs/admin/openapi.json',
documentFactory: () => SwaggerModule.createDocument(app, adminSwaggerConfig),
},
],
});
何时 path 或者说 jsonPath ,适配器从顶层获得稳定路线 path 和谱名.
静态资产
后退 shell今天支持自定义 CSS 和 JavaScript URL 。 如果您在应用程序中捆绑额外的UI资产, 请通过一个薄的服务钩并公开挂载路径 :
import { join } from 'node:path';
import { serveBetterOpenApiViewerStaticAssets } from '@clementoh/better-openapi-viewer-nestjs';
setupBetterOpenApiViewer(app, {
document,
staticAssets: {
path: 'docs/assets',
serve: serveBetterOpenApiViewerStaticAssets(join(process.cwd(), 'public/openapi-viewer')),
},
});
帮手叫巢穴 useStaticAssets 当活动平台曝光时. 你可以自己提供 serve 调用适配器特定设置 .