docs(controllerClass, config)

Applica i decorator Swagger a una classe controller dall'esterno del suo file, come effetto collaterale all'import.

Firma

Chiamalo al livello superiore di un file *.controller.docs.ts, dove viene eseguito come effetto collaterale all'import.

Type-safety

Completamente type-safe: config.methods accetta solo chiavi che esistono sulla classe controller. Gli errori di battitura vengono colti in fase di compilazione.

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

Campi di config

  • config.classDecorators: ClassDecorator[], applicati al costruttore della classe (es. ApiTags, ApiBearerAuth).
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>, array di decorator indicizzati per nome del metodo, applicati in ordine.
  • config.group: string, nome logico del gruppo per l'estensione x-tagGroups di ReDoc.
  • config.tags: string[], nomi dei tag associati al group. Devono corrispondere a quelli passati a ApiTags().

Comportamento a runtime

Chiave di metodo inesistente

Se una chiave di metodo non esiste sul controller a runtime, viene loggato un avviso e quella voce viene saltata, ma il resto del file docs viene comunque applicato.