Decorator 无法在NestJS服务中使用装饰器

Decorator 无法在NestJS服务中使用装饰器,decorator,nestjs,Decorator,Nestjs,为什么我们不能在NestJS服务中使用装饰器?下面是一个关于我如何尝试的示例,但它不起作用 装饰器:@User() 当我将此decorator调用到服务中时,我收到以下消息:当作为表达式调用时,无法解析属性decorator的签名 // connect.service.ts import { Injectable, Inject } from '@nestjs/common'; import { User } from '../account/user/user.decorator'; @In

为什么我们不能在NestJS服务中使用装饰器?下面是一个关于我如何尝试的示例,但它不起作用

装饰器:@User()

当我将此decorator调用到服务中时,我收到以下消息:当作为表达式调用时,无法解析属性decorator的签名

// connect.service.ts
import { Injectable, Inject } from '@nestjs/common';
import { User } from '../account/user/user.decorator';

@Injectable()
export class ConnectService {
 @User() 
 userInfo;
}

您试图用
参数装饰器
装饰一个属性,这就是您收到此错误消息的原因


你能提供更多关于你的用例的细节吗?这可能有助于某人对您试图实现的目标给出一些见解。

您试图使用
参数装饰器来装饰一个属性,这就是您收到此错误消息的原因


你能提供更多关于你的用例的细节吗?这可能会有助于某人对您试图实现的目标给出一些见解。

看起来您正试图在可注射的()上添加一个装饰器。我认为您无法做到这一点。它需要在一个方法上,这样当它被调用时,一些魔术可以在幕后发生。考虑使用类验证器和验证管道 例如:

@Get('vitalsByEncounterID')
async getVitalsByEncounterID(@Query() params: VitalsByEncounterPathDTO, @Headers(DFDHeaders.xRequestId) requestId: string): Promise<VitalSignsDTO[]> {}

看起来你想在一个可注入()上添加一个装饰器,我认为你做不到。它需要在一个方法上,这样当它被调用时,一些魔术可以在幕后发生。考虑使用类验证器和验证管道 例如:

@Get('vitalsByEncounterID')
async getVitalsByEncounterID(@Query() params: VitalsByEncounterPathDTO, @Headers(DFDHeaders.xRequestId) requestId: string): Promise<VitalSignsDTO[]> {}
export class VitalsByEncounterPathDTO {
  @IsString()
  @IsNotEmpty()
  @ApiModelProperty({ required: true, description: 'iCentra id for the patient' })
  patientId: string;

  @IsString()
  @IsNotEmpty()
  @ApiModelProperty({ required: true, description: 'an encounter id for the patient' })
  encounterId: string;
}