Skip to content

covenix / generateSwagger

Function: generateSwagger()

generateSwagger(controllers, info?, options?): OpenApiDocument

Defined in: src/swagger.ts:450

Standalone, instance-free OpenAPI generation: pass the controller classes directly. Swagger is derived entirely from class-level metadata, so no instances (and thus no dependency wiring) are needed — the lightest path for CI spec checks and client codegen.

Parameters

controllers

StaticController[]

The controller classes (constructors, not instances). To mirror grouped/prefixed registration, wrap a class as { controller, prefix } to prepend a base path (e.g. { controller: UsersController, prefix: '/v1' }).

info?

InfoObject = ...

OpenAPI info block. Defaults to { title: 'API', version: '1.0.0' }.

options?

OpenApiOptions = {}

Extra inputs: securitySchemes (needed when routes use @Security, since scheme definitions aren't carried on the classes) and specVersion ('3.1' by default; '3.0' to down-convert).

Returns

OpenApiDocument

The assembled OpenAPI document (3.1 by default).

Example

ts
const doc = generateSwagger([UsersController, HealthController]);
const v1 = generateSwagger([{ controller: UsersController, prefix: '/v1' }]);