自定义装饰器
方法装饰器
无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
合并多个装饰器