applyDocfyMetadata(document, options?)

Вносит в уже собранный документ OpenAPI метаданные, которые плагин CLI из nestjs-docfy подготовил во время сборки.

Использование

Вызывайте сразу после SwaggerModule.createDocument(), в той же точке жизненного цикла, где вы бы вливали результат запущенного вручную patch-spec. Разница в том, что здесь всё происходит само на каждой сборке, без отдельного шага CLI. Полная картина, включая регистрацию в nest-cli.json, описана в разделе Плагин CLI.

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);

Всё это работает и когда сборка идёт через SWC ("builder": "swc"), при условии, что задан ещё и "typeCheck": true. Подробности в разделе о сборщике SWC в руководстве по плагину.

Параметры

OptionTypeDefaultDescription
metadataPathstringdocfy-metadata.json рядом с входным файломАбсолютный путь к файлу метаданных, который записал плагин.
strictbooleanfalseБросать исключение вместо предупреждения, когда файл метаданных отсутствует или не разбирается. Работает так же, как DocfyModule.forRoot({ strict }).
Fail-open by default

Если файл метаданных не найден (например, плагин не зарегистрирован в nest-cli.json), функция выведет предупреждение и вернёт документ без изменений. Это то же поведение по умолчанию, что и у DocfyModule.forRoot().