нужно сериализовать как md5(sorted + "const string"), где sorted это отсортированные по алфавиту названия полей в формате f_name=value?
#[derive(Debug, Serialize)]
pub struct CheckIfUserExists<'a> {
email: &'a str,
#[serde(with = "string")]
birthday: Birthday,
#[serde(with = "string")]
name: Name<'a>,
}```sorted для этой структуры выглядит примерно так:
```birthday=self.birthday&email=self.email&name=self.name
Можно, только кажется сериализацию придется ручками делать, а не дерайвить, т.к. какой-нибудь serialize_with не даст обратиться к другим членам структуры
можно сделать каст в hashmap
добавь ещё одно поле и с помощь serialize_with укажи свою кастомную функцию для сериализации
serialize_with умеет брать по ссылке структуру?
Увы. Но кстати вопрос, а почему ты сразу при создании структуры хэшсумму не хочешь посчитать?
#[derive(Debug, Serialize)] pub struct CheckIfUserExists<'a> { email: &'a str, #[serde(with = "string")] birthday: Birthday, #[serde(with = "string")] name: Name<'a>, f_name: String } держи
суть в том, чтобы не писать его руками
Обсуждают сегодня