In addition to @standard_revolution answer, I had to specify #[serde(default)]
#[derive(Deserialize)]
#[serde(default)]
struct PageParams {
limit: i64,
offset: i64,
}
impl Default for PageParams {
fn default() -> Self {
PageParams {
limit: 10,
offset: 0,
}
}
}
#[get("/list")]
async fn list(query: web::Query<PageParams>) -> impl Responder { ... }