axumをつかっていてクエリパラメータがなんか取れないな?ってことがあったので備忘録
現象
以下のような関数をapi呼び出しした際、Queryの取得に失敗してました
Query<Uuid> が受け取れずエラーになってました
asyn fn get_user(Query(user_id): Query<Uuid>) -> Result<User, String> {
// ...
}
原因と対策
原因としてはQueryのような型宣言では単一パラメータのパースはできませんでした
以下のように構造体内にパラメータのフィールドを宣言する必要があるようです
#[derive(Serialize)]
pub struct GetUser {
user_id: Uuid;
}
もしかするとi32などのプリミティブな型だとパースできるのかもしれませんが参考までに!