docs(controllerClass, config)

Применяет декораторы Swagger к классу контроллера снаружи его файла, как побочный эффект при импорте.

Сигнатура

Вызывайте её на верхнем уровне файла *.controller.docs.ts, где она отрабатывает побочным эффектом при импорте.

Типобезопасность

Полная типобезопасность: config.methods принимает только те ключи, которые есть у класса контроллера. Опечатку поймает компилятор.

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

Поля конфигурации

  • config.classDecorators: ClassDecorator[], применяются к конструктору класса (например, ApiTags, ApiBearerAuth).
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>, массивы декораторов по имени метода, применяются по порядку.
  • config.group: string, название логической группы для расширения x-tagGroups в ReDoc.
  • config.tags: string[], имена тегов, привязанных к group. Должны совпадать с тем, что вы передаёте в ApiTags().

Поведение в рантайме

Несуществующий ключ метода

Если в рантайме такого метода у контроллера нет, в лог уйдёт предупреждение, а сама запись будет пропущена. Остальная часть docs-файла всё равно применится.