mirror of
https://github.com/tokio-rs/axum.git
synced 2026-08-26 00:00:23 +02:00
* initial working impl * support `#[from_request(via(...))]` * support extracting the whole thing at once * rely on type inference * fix footgun * fix typo * generate rejection enums * move tests to trybuild * minor clean up * docs * Support multiple generic extractors with same "via" type * support `Result` as well * Update axum-macros/src/from_request.rs Co-authored-by: Jonas Platte <[email protected]> * Add `#[automatically_derived]` * remove needless `#[derive(Debug)]` on macro types * Fix error messages that different for some reason * Update axum-macros/src/lib.rs Co-authored-by: Jonas Platte <[email protected]> * add more `#[automatically_derived]` * support same types in tuple structs * update docs * prep axum-macros for release * address review feedback * Update axum-macros/src/lib.rs Co-authored-by: Jonas Platte <[email protected]> * Update axum-macros/src/lib.rs Co-authored-by: Jonas Platte <[email protected]> * Update known limitation Co-authored-by: Jonas Platte <[email protected]>
23 lines
389 B
Rust
23 lines
389 B
Rust
use axum::{
|
|
body::Body,
|
|
extract::{rejection::JsonRejection, FromRequest, Json},
|
|
};
|
|
use axum_macros::FromRequest;
|
|
use serde::Deserialize;
|
|
|
|
#[derive(Deserialize, FromRequest)]
|
|
#[from_request(via(Json))]
|
|
struct Extractor {
|
|
one: i32,
|
|
two: String,
|
|
three: bool,
|
|
}
|
|
|
|
fn assert_from_request()
|
|
where
|
|
Extractor: FromRequest<Body, Rejection = JsonRejection>,
|
|
{
|
|
}
|
|
|
|
fn main() {}
|