@@ -584,6 +584,36 @@
/// ```
pub use crate::extract::Path;
+/// Form data extractor.
+///
+/// Deserialize `application/x-www-form-urlencoded` request bodies.
+///
+/// Re-exported from [Axum](https://docs.rs/axum). See
+/// [`axum::extract::Form`] for full documentation.
+///
+/// # Examples
+///
+/// ```rust,no_run
+/// use autumn_web::prelude::*;
+/// use serde::Deserialize;
+///
+/// #[derive(Deserialize)]
+/// struct Login { username: String, password: String }
+///
+/// #[post("/login")]
+/// async fn login(Form(input): Form<Login>) -> String {
+/// format!("Welcome, {}!", input.username)
+/// }
+/// ```
+pub use crate::extract::Form;
+
+/// Query extractor.
+///
+/// Deserialize URL query string parameters.
+///
+/// Re-exported from [Axum](https://docs.rs/axum). See
+/// [`axum::extract::Query`] for full documentation.
+pub use crate::extract::Query;
+
/// Re-exports of upstream crates used in macro-generated code.
///
/// These are public so that code generated by `autumn-macros` can reference