applyDocfyMetadata(document, options?)
Führt die zur Build-Zeit vom nestjs-docfy-CLI-Plugin erzeugten Metadaten in ein bereits erstelltes OpenAPI-Dokument ein.
Verwendung
Ruf das direkt nach SwaggerModule.createDocument() auf, an derselben Stelle im Lifecycle, an der auch die manuell erzeugte patch-spec-Ausgabe eingefügt würde – nur läuft das hier automatisch bei jedem Build statt als separater CLI-Schritt. Das vollständige Bild, inklusive Registrierung in nest-cli.json, findest du unter Das CLI-Plugin.
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);Das funktioniert auch, wenn dein Build den SWC-Builder nutzt ("builder": "swc"), solange "typeCheck": true ebenfalls gesetzt ist — siehe den Abschnitt SWC-Builder der Plugin-Anleitung.
Optionen
| Option | Type | Default | Description |
|---|---|---|---|
metadataPath | string | docfy-metadata.json neben der Entry-Datei | Absoluter Pfad zur Metadatendatei, die das Plugin geschrieben hat. |
strict | boolean | false | Wirft einen Fehler statt nur zu warnen, wenn die Metadatendatei fehlt oder nicht geparst werden kann. Entspricht DocfyModule.forRoot({ strict }). |
Wenn die Metadatendatei nicht gefunden wird (zum Beispiel weil das Plugin nicht in nest-cli.json registriert ist), warnt die Funktion und gibt das Dokument unverändert zurück – dasselbe Fail-open-Standardverhalten wie bei DocfyModule.forRoot().