【发布时间】:2022-08-15 07:14:59
【问题描述】:
错误:
我还是 rust 新手,我不知道如何从 refs 创建副本或转移所有权。
代码详情:
let result = check_email(&input).await;
let myresult = result.first().unwrap();
let responce = EmailOutput {
input: &myresult.input,
is_reachable: Reachable::from_str(format!("{:?}",myresult.is_reachable).as_str()),
misc: Misc { is_disposable: myresult.misc.as_ref().unwrap().is_disposable, is_role_account: myresult.misc.as_ref().unwrap().is_role_account },
mx: format!("{:?}", myresult.mx),
smtp: Smtp { can_connect_smtp: myresult.smtp.as_ref().unwrap().can_connect_smtp, has_full_inbox: myresult.smtp.as_ref().unwrap().has_full_inbox, is_catch_all: myresult.smtp.as_ref().unwrap().is_catch_all, is_deliverable: myresult.smtp.as_ref().unwrap().is_deliverable, is_disabled: myresult.smtp.as_ref().unwrap().is_disabled },
syntax: Syntax { address: myresult.syntax.address.as_ref().unwrap().to_string(), domain: myresult.syntax.domain.as_ref(), is_valid_syntax: myresult.syntax.is_valid_syntax, username: &myresult.syntax.username }
};
let output = Box::new(responce);
Ok(Json(&*output))
【问题讨论】:
-
我用过这个:
[dependencies] owning_ref = "0.3"并没有帮助 -
您能解释一下为什么将对象放在 Box 中只是为了取消引用和引用它吗?
Ok(Jason(response))不能满足您的需求吗? -
你的函数的签名是什么,
Json的定义是什么? -
首先,使用
clone(),let myresult = result.clone().first().unwrap(); -
其次,检查将数据转换为 json 的正确方法。比如使用
serdecrate。
标签: rust rust-cargo