Skip to content
On this page

自定义装饰器

方法装饰器

无ctx参数

ts
import { SetMetadata } from '@nestjs/common';

export const Aaa = (...args: string[]) => SetMetadata('aaa', args);

参数装饰器

有ctx参数

ts
import { createParamDecorator, ExecutionContext } from '@nestjs/common';

export const Bbb = createParamDecorator(
  (data: string, ctx: ExecutionContext) => {
    return 'bbb' + data;
  },
);

类装饰器

无ctx参数

ts
import { SetMetadata, applyDecorators } from '@nestjs/common';

export const Ccc = (path: string, metaData: string) => {
  return applyDecorators(SetMetadata(path, metaData));
};

applyDecorators

合并多个装饰器