在其他语言(例如Java)中,可以使用库将对象字段映射到另一个对象(例如mapstruct)。确实对于将控制器和服务彼此隔离非常有用。
PersonDto personDto = mapper.businessToDto(personBusiness);
而且我找不到用Rust怎么做?我没有找到任何与此相关的库或任何实现此方法的库。任何资源将不胜感激!
在锈病中,通常通过From
特征来进行:
struct Person {
name: String,
age: u8,
}
struct PersonDto {
name: String,
age: u64,
}
impl From<Person> for PersonDto {
fn from(p: Person) -> Self {
Self {
name: p.name,
age: p.age.into(),
}
}
}
因此,您可以进行Into
转换:
let person = Person { name: "Alex".to_string(), age: 42 };
let person_dto: PersonDto = person.into();
// or via an explicit `T::from:
let person_dto = PersonDto::from(person);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句