我在重构我的代码。我想在我的DTO中使用java记录而不是java类。为了将DTO转换为实体,我使用了ModelMapper (版本2.3.5)。当我试图获取有关用户的信息(调用方法共转换实体到DTO)时,我会得到这个错误。
Failed to instantiate instance of destination xxx.UserDto.
在我的域中,我有一些实体在属性上没有设置器(除了奇怪的特例)。因此,所有的值都必须通过构造函数传入。问题是,现在我使用域实体作为我的创建视图的模型,当模型绑定尝试将表单字段绑定到模型时,它会抛出一个No parameterless constructor defined for this object为视图中使用的将FormCollection转换为实体的每个实体创建一个映射器。
在将MVC发送到我的服务层之前,创建实体的ViewModel表示并将其映射到原始实体类