我正在尝试将复杂的实体转换为Dto。我想从DTO中删除实体中的一些值。
我的实体看起来像这样(为了简单起见,省略了实体的大部分):
export class ResultEntity {
constructor(
public id: string,
public userId: string,
public results: CalculationOutputEntity[] = [],
public item: Item = new Item(),
) { }
}
export class Item {
constructor(
public privat: Private = new Private(),
public state: State = new State(),
public combined: number = 0,
) { }
}
export class State {
constructor(
public numberA: number = 0,
public numberB: number = 0,
public numberC: number = 0,
public numberD: number = 0,
) { }
}
我找到了一个对简单实体非常有效的解决方案:将实体转换为数据。如果我采纳了自定义html" target="_blank">拦截器的建议,删除id或整个item属性就可以了。
我尝试了两种方法来定义我的DTO:
@Exclude()
export class AdvisoryResultDto {
@Expose()
public id: string;
public userId: string;
public results: CalculationOutputDto[];
@Expose()
public item: Item;
}
export class AdvisoryResultDto {
public id: string;
public userId: string;
public results: CalculationOutputDto[];
@Exclude()
public item: Item;
}
现在的问题是我只想删除 item 属性中的某些值。例如,私有字段和状态属性编号 B 内。
我希望能够在嵌套类中使用< code>Exclude()删除单个值。
举个例子:
export class AdvisoryResultDto {
public id: string;
public userId: string;
public results: CalculationOutputDto[];
public item: Item;
}
export class Item {
@Exclude()
public privat: PrivateDto;
public state: StateDto;
public combined: number;
}
export class StateDto {
public numberA: number;
@Exclude()
public numberB: number;
public numberC: number;
public numberD: number;
}
不幸的是,我找不到关于这个确切问题的任何东西。手动接管映射也不是一个解决方案,因为计算输出
要复杂得多,并且嵌套了许多类和属性。
我只是错过了一小步,还是不能使用从类转换器中公开
和排除
?如果不是,我希望有另一个解决方案。
为什么不创建一个构造函数,然后仅使用实体中的所需值启动 DTO?只需将实体对象传递给 DTO 的构造函数并从 DTO 中删除字段即可。
所以我在类变压器包的留档中找到了解决方案:https://github.com/typestack/class-transformer#working-with-nested-objects
我需要将@Type
-Decorator添加到嵌套类
解决方案:
@Expose()
export class AdvisoryResultDto {
public id: string;
public userId: string;
public results: CalculationOutputDto[];
@Type(() => Item)
public item: Item;
}
export class Item {
@Exclude()
@Type(() => PrivateDto)
public privat: PrivateDto;
@Expose()
@Type(() => StateDto)
public state: StateDto;
public combined: number;
}
export class StateDto {
public numberA: number;
@Exclude()
public numberB: number;
public numberC: number;
public numberD: number;
}
问题内容: 我有一个应用程序,该应用程序使用Jackson将我的复杂对象编组为JSON,从而在DynamoDB中存储一些数据。 例如,我要编组的对象可能如下所示: SomeObject可能看起来像这样: 和SomeOtherObject可能看起来像这样: 可以很好地将对象整理成问题并将其作为JSON字符串存储在数据库中。 当需要从DynamoDB检索数据时,Jackson会自动检索JSON并将其转
某个物体可能看起来像这样: 另一个物体可能是这样的: 这很好,因为对象被封送,没有问题,并以JSON字符串的形式存储在DB中。
我已将此JSON转换为Hashmap http://www.mocky.io/v2/5d0dc72d3400008c00ca4a62 我有嵌套的Hashmap,我想把它转换成ArrayList 我想从获取所有数据并添加到列表中。我还希望hashmap的密钥也将作为指南导入列表中。 这是银行舱 这是银行名单课程 我试过的 但我不明白为什么会有例外 如果可以的话,请给我推荐其他算法
问题内容: 我没主意了。现在,我有一天在Google上进行了谷歌搜索,但仍然找不到我的问题的任何有用答案。 到目前为止,我一直尝试使用原始SQL,但是没有运气。 使用此原始SQL查询时,返回的结果为零,但是在其中运行相同的查询时,返回正确的结果。 我进一步发现,将查询打印到终端时,它不能正确处理该子句。 打印时我的查询如下所示: 如何将此SQL查询转换为SQLAlchemy 我的桌子看起来像这样:
我有一个项目,我需要在数据库中存储用户。我正在使用Hibernate,在模块的某些部分中,也在实验性地使用Spring数据JPA。我有一个用于注册客户的RESTendpoint,并在那里接收UserDTO对象。之后,在其他服务中,我需要将其转换为UserEntity并保存在数据库中。 现在我创建了用户设置页面,我需要显示一些关于登录用户的信息。我不想发送UserDTO对象,因为有太多的数据,所以我
我想将web设计师用纯HTML编写的复杂div容器转换为React组件。此div容器具有React to manage的状态。我知道我可以将div转换为JSX,但这意味着设计师和我都要加倍努力。危险的是,Html不处理状态。我可以创建React的子类。组件,定义状态并在不使用JSX的情况下将状态值呈现到div容器中? 下面是div容器标记的一个片段: