applyDocfyMetadata(document, options?)

把 nestjs-docfy CLI 插件在构建时生成的元数据,合并进一份已经构建好的 OpenAPI 文档。

用法

SwaggerModule.createDocument() 之后立刻调用它,位于手动运行 patch-spec 时合并结果的同一个生命周期节点上,只是这里是每次构建自动执行,不是单独的 CLI 步骤。完整说明见 CLI 插件,包括如何在 nest-cli.json 中注册它。

ts
import { NestFactory } from '@nestjs/core';
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
import { applyDocfyMetadata } from 'nestjs-docfy';

const app = await NestFactory.create(AppModule);

const document = SwaggerModule.createDocument(app, new DocumentBuilder().build());
SwaggerModule.setup('api', app, applyDocfyMetadata(document));

await app.listen(3000);

选项

OptionTypeDefaultDescription
metadataPathstringdocfy-metadata.json 入口文件旁边插件写出的元数据文件的绝对路径。
strictbooleanfalse元数据文件缺失或无法解析时直接抛出异常,而不是发出警告。行为对应 DocfyModule.forRoot({ strict })
Fail-open by default

如果找不到元数据文件(比如插件没有在 nest-cli.json 中注册),它会发出警告并原样返回文档,和 DocfyModule.forRoot() 的失败开放默认行为一致。