【发布时间】:2019-01-25 10:10:41
【问题描述】:
我创建了一个“自定义装饰器”,并使用它在主体请求中注入来自 jwt 会话用户的公司代码 (ZON_EMPRESA)。
// DECORATOR
import { createParamDecorator } from '@nestjs/common';
export const Zona = createParamDecorator((data, req) => {
req.body.ZON_EMPRESA = req.user.USU_EMPRESA;
return req.body;
});
验证在控制器中不起作用。如果我使用标准装饰器 @Body () 验证正确。 但我无法从 jwt 会话的 req.user 中注入值为 ZON_EMPRESA 的正文
// CONTROLLER
@Put('')
async update( @Zona() body: IZona ) {
return await this.zonaonaService.update( body );
}
// VALIDATION
import { IsString, Length, IsInt, Min } from 'class-validator';
export class IZona {
readonly ZON_CODIGO?: number;
@IsInt()
@Min(1)
readonly ZON_EMPRESA: number;
@IsString()
@Length(5, 50)
readonly ZON_NOME: string;
@IsInt()
@Min(1)
readonly ZON_VENDEDOR: number;
}
我该如何解决这个问题。 谢谢
【问题讨论】:
标签: typescript nestjs