我有这个结构是通过用 Serde 反序列化创建的,我想在Url其中有一个未反序列化的类型字段:
#[derive(Deserialize, Debug)]
pub struct Flow {
#[serde(skip_deserializing)]
pub source: Url,
}
Serde 抱怨Url不满足这个Default特质。我试过有和没有导出Default. 是我Default为自己实现该特征的唯一选择Url吗?
您可以#[serde(default = "path")]在字段上使用,以提供带有签名的函数,fn() -> Url如果字段丢失,则应调用该函数。
也可以自己实现Deserialize并适当地处理缺失值。