我有这个结构是通过用 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
并适当地处理缺失值。