docs(controllerClass, config)

Applique des décorateurs Swagger à une classe de contrôleur depuis l'extérieur de son fichier, comme effet de bord à l'import.

Signature

Appelle-la au premier niveau d'un fichier *.controller.docs.ts, où elle s'exécute comme effet de bord à l'import.

Type-safety

Entièrement type-safe : config.methods n'accepte que les clés qui existent sur la classe du contrôleur. Les fautes de frappe sont détectées à la compilation.

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

Champs de config

  • config.classDecorators: ClassDecorator[], appliqués au constructeur de la classe (par ex. ApiTags, ApiBearerAuth).
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>, tableaux de décorateurs indexés par nom de méthode, appliqués dans l'ordre.
  • config.group: string, nom du groupe logique pour l'extension x-tagGroups de ReDoc.
  • config.tags: string[], noms des tags associés au group. Doivent correspondre à ce que tu passes à ApiTags().

Comportement à l'exécution

Clé de méthode inexistante

Si une clé de méthode n'existe pas sur le contrôleur à l'exécution, un avertissement est enregistré et cette entrée est ignorée, mais le reste du fichier docs est quand même appliqué.