docs(controllerClass, config)

コントローラークラスの外部から、import時の副作用としてSwaggerデコレーターを適用します。

シグネチャ

*.controller.docs.tsファイルのトップレベルで呼び出してください。import時に副作用として実行されます。

型安全性

完全に型安全です。config.methodsはコントローラークラスに存在するキーしか受け付けません。誤字はコンパイル時に検出されます。

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

設定フィールド

  • config.classDecorators: ClassDecorator[]。クラスのコンストラクタに適用されます(例: ApiTagsApiBearerAuth)。
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>。メソッド名をキーとするデコレーター配列で、順番に適用されます。
  • config.group: string。ReDocのx-tagGroups拡張に使う論理的なグループ名です。
  • config.tags: string[]groupに関連付けられたタグ名です。ApiTags()に渡すものと一致させる必要があります。

ランタイムの挙動

存在しないメソッドキー

メソッドキーが実行時のコントローラーに存在しない場合、警告がログに出力されそのエントリーはスキップされますが、docsファイルの残りの部分は引き続き適用されます。