applyDocfyMetadata(document, options?)

nestjs-docfy CLIプラグインが生成したビルド時のメタデータを、すでに構築済みのOpenAPIドキュメントにマージします。

使い方

SwaggerModule.createDocument()の直後、手動で実行したpatch-specの出力をマージするのと同じライフサイクルのタイミングで呼び出してください。別のCLIステップではなく、ビルドのたびに自動で実行される点が異なります。全体像はThe CLI pluginを参照してください。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()と同じフェイルオープンなデフォルト動作です。