mirror of
https://github.com/tokio-rs/axum.git
synced 2026-09-06 00:00:17 +02:00
Type safe state inheritance (#1532)
* Make state type safe * fix examples * remove unnecessary `#[track_caller]`s * Router::into_service -> Router::with_state * fixup docs * macro docs * add missing docs * fix examples * format * changelog * Update trybuild tests * Make sure fallbacks are still inherited for opaque services (#1540) * Document nesting routers with different state * fix leftover conflicts
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
use axum_macros::FromRef;
|
||||
use axum::{Router, routing::get, extract::State};
|
||||
use axum::{Router, routing::get, extract::{State, FromRef}};
|
||||
|
||||
// This will implement `FromRef` for each field in the struct.
|
||||
#[derive(Clone, FromRef)]
|
||||
@@ -15,5 +14,7 @@ fn main() {
|
||||
auth_token: Default::default(),
|
||||
};
|
||||
|
||||
let _: Router<AppState> = Router::with_state(state).route("/", get(handler));
|
||||
let _: axum::routing::RouterService = Router::new()
|
||||
.route("/", get(handler))
|
||||
.with_state(state);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user