docs(controllerClass, config)

Aplica decorators Swagger a uma classe de controller a partir de fora do arquivo dela, como side effect no import.

Assinatura

Chame no top level de um *.controller.docs.ts, onde roda como side effect no import.

Type-safety

Totalmente type-safe: config.methods só aceita chaves que existem na classe do controller. Typos são pegos em compile time.

ts
docs(UsersController, {
  classDecorators: [ApiTags('users')],
  methods: {
    findAll: [...],    // ✔ exists on UsersController
    typoMethod: [...], // ✖ TypeScript error
  },
});

Campos de config

  • config.classDecorators: ClassDecorator[], aplicado ao construtor da classe (ex.: ApiTags, ApiBearerAuth).
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>, arrays de decorator por nome de método, aplicados em ordem.
  • config.group: string, nome lógico do grupo para a extensão x-tagGroups do ReDoc.
  • config.tags: string[], nomes de tag associados ao group. Devem casar com o que você passa para ApiTags().

Comportamento em runtime

Chave de método inexistente

Se uma chave de método não existir no controller em runtime, um warning é logado e essa entrada é pulada, mas o resto do docs file ainda é aplicado.