docs(controllerClass, config)

コントローラークラスの外部からSwaggerデコレーターを適用します。*.controller.docs.tsのトップレベルで呼び出してください。この呼び出しはimport時に副作用として実行されます。

シグネチャ

完全に型安全です。config.methodsはコントローラークラスに存在するキーしか受け付けません。

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

config

  • classDecorators (ClassDecorator[]): クラスのコンストラクタに適用されます。
  • methods (Partial<Record<keyof T, MethodDecorator[]>>): メソッドごとのデコレーター。順番に適用されます。
  • group (string): x-tagGroups用のグループ名です。Tag groupsを参照してください。
  • tags (string[]): groupに関連付けられたタグです。ApiTags()と一致させる必要があります。

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