#
当前标签共计1篇文章。
> warp框架的路由比较独特,是由过滤器来组成的,这里记录一些常用的路由,免得遗忘。 如果路由没有匹配到, 则返回 http状态码 405 HTTP method not allowed ### /hello/{id} 路由 假如想要 /hello/{id} 这样的一个路由,其中hello是固定的,id是固定的无符号值 比如/hello/1, /hello/123 这样 可以用这两种方法来写 ``` rust //使用path宏 let one = warp::path!("hello" / u32).map(|num| format!("你输入的数字是{}", num)); //使用path方法 let two = warp::path("hello").and(warp::path::param()).map(|num:u32| { format!("你输入的数字是{}", num) }); ``` 我的理解是, path宏的话,很直观的表达出来,hello/后面跟u32的值,然后匹配到map里面,因为在路由里面已经指定了hello/后面的是u32的数字,所以map的闭包里面就不需要为num指定类型了。 path方法的话,用and连接来捕获一个参数,然后去和map中指定的类型进行对比,如果获取到的参数是u32的话,就能走到map里面了。 如果传入的参数不是u32的,还是会返回405状态码。