你是否在找:reflect-metadata
类型定义:
const MetaKeyMin = 'min';
export const Min = (min: any): PropertyDecorator => {
return (target, key) => {
Reflect.defineMetadata(MetaKeyMin, min, target, key);
}
}
使用:
export class EquipVO {
@
Min({value:0})
xfzId?: number;
}
运行时读取:
export function CheckObjectFiledByKey(object: object, key: string): string {
var hasMin = Reflect.hasMetadata("min", object, key);
var min = Reflect.getMetadata("min", object, key);
// value: min.value
}
当时做这套功能就是为了保证源代码和 java 基本一致,并且支持基本的 validation-api 功能,这样可以用工具生成 ts 代码
@
Datapublic class Equip extends SecModel {
@
Min(value = 0)
private Integer xfzId;
}