docs(controllerClass, config)

从控制器文件之外为该控制器类应用 Swagger 装饰器,作为导入时的副作用执行。

签名

*.controller.docs.ts 文件的顶层调用它,它会在导入时作为副作用运行。

类型安全

完全类型安全:config.methods 只接受控制器类上真实存在的方法名,拼写错误会在编译期就被发现。

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

config 字段

  • config.classDecorators: ClassDecorator[],应用到类构造函数上(例如 ApiTagsApiBearerAuth)。
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>,按方法名分类的装饰器数组,按顺序应用。
  • config.group: string,用于 ReDoc x-tagGroups 扩展的逻辑分组名。
  • config.tags: string[],与 group 关联的标签名,需要和你传给 ApiTags() 的一致。

运行时行为

不存在的方法名

如果某个方法名在运行时的控制器上不存在,会记录一条警告并跳过该条目,但 docs 文件的其余部分照常应用。