fixed: Nested routers are now allowed to have fallbacks (#1521):
let api_router = Router::new()
.route("/users", get(|| { ... }))
.fallback(api_fallback);
let app = Router::new()
// this would panic in 0.5 but in 0.6 it just works
//
// requests starting with /api but not handled by api_router
// will go to /api_fallback
.nest("/api", api_router);
The outer router's fallback will still apply if a nested router doesn't have
its own fallback:
// this time without a fallback
let api_router = Router::new().route("/users", get(|| { ... }));
let app = Router::new()
.nest("/api", api_router)
// api_fallback will inherit this fallback
.fallback(app_fallback);
breaking: The request /foo/ no longer matches /foo/*rest. If you want
to match /foo/ you have to add a route specifically for that (#1086)
For example:
use axum::{Router, routing::get, extract::Path};
let app = Router::new()
// this will match /foo/bar/baz
.route("/foo/*rest", get(handler))
// this will match /foo/
.route("/foo/", get(handler))
// if you want /foo to match you must also add an explicit route for it
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps axum from 0.5.17 to 0.6.1.
Release notes
Sourced from axum's releases.
... (truncated)
Commits
87a80ec
axum v0.6.1 (#1588)3279d64
Update to matchit 0.7 (#1582)28f1996
Clarify nested outer fallbacks in CHANGELOG.md (#1581)eb2e933
Expand the docs forRouter::with_state
(#1580)8d62697
add axum-http-auth-example to ECOSYSTEM.md (#1574)b984fec
Remove notice about breaking changes from readme834d4e5
docs: add axum-otel-metrics to axum ecosystem (#1573)1b6780c
axum 0.6 and friends 🎉 (#1570)0b26411
ChangeRouter::with_state
andimpl Service for Router\<()>
(#1552)fde38f6
docs: Addaxum-csrf-sync-pattern
toECOSYSTEM.md
(#1567)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)