axum::Router
结构体
pub struct Router<S = ()> { /* private fields */}
用于组合处理程序和服务的路由器类型。
实现
impl<S> Router<S>
where
S: Clone + Send + Sync + 'static,
新建路由器
pub fn new() -> Self
创建一个新的路由器,除非您添加额外的路由,否则将对所有请求响应404未找到。
添加另一个路由到路由器
pub fn route(self, path: &str, method_router: MethodRouter<S>) -> Self
path
: 是由/
分割的路径段字符串。每个段可能是静态的、捕获的或者是通配符。method_router
: 是一个MethodRouter
,它将请求方法映射到处理程序。method_router
通常会是类似于get
的方法路由器中的处理程序。
静态路径
例如:
/
/foo
/foo/bar
如果传入的请求路径完全匹配,则将调用相应的服务。
捕获
例如:
/:key
/foo/:key
/users/:id/tweets
路径可以包含类似于/:key
的段,它匹配任何单个段,并将存储在key
处捕获的值。
捕获的值可以是零长度,除了无效路径//