[英]Nestjs - Inject Data In Decorator
class CreateAssetDto{
assetName: string;
tenant: Tenant;
}
export const InjectTenant = createParamDecorator(
(data: string, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
let createAssetDto = new CreateAssetDto();
createAssetDto.tenant = new Tenant("JAY")
return createAssetDto;
}
);
async create(@InjectTenant() createAssetDto: CreateAssetDto) {
console.log(createAssetDto.tenant);
Hi, how to inject data using decorator parameter.嗨,如何使用装饰器参数注入数据。 for example everytime I call create function.
例如,每次我调用 create function。 it automatically inject tenant property.
它会自动注入租户财产。
when I tried it.当我尝试它时。 it never call @InjectTenant decorator
它从不调用@InjectTenant 装饰器
You can Inject it in the request so that you can get the object wherever you want to... Take a look at the following code你可以在请求中注入它,这样你就可以在任何你想要的地方获取 object... 看看下面的代码
export const InjectTenant = createParamDecorator(
(data: string, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
let createAssetDto = new CreateAssetDto();
createAssetDto.assetName = "CAR"
request.createAssetDto = createAssetDto;
return request;
}
);
now in your controller, you can access it via Req()
method现在在您的 controller 中,您可以通过
Req()
方法访问它
@InjectTenant()
@Post('/Your-Route')
async create(@Body() createAssetDto: CreateAssetDto, @Req() req:any ) {
console.log(req.createAssetDto);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.