我正在使用warp在 Rust 中创建服务器。假设我设置了这两条路线。
let route_one = warp::get().and(warp::path("path1")).map(|| warp::reply());
let route_two = warp::get().and(warp::path("path2")).map(|| warp::reply());
warp::serve(route_one.or(route_two))
.run(([127, 0, 0, 1], 3000))
.await;
我想将路线移动到自己的功能中。返回类型是什么?
例如:
async fn get_route_one() {
warp::get().and(warp::path("path1")).map(|| warp::reply())
}
async fn get_route_two() {
warp::get().and(warp::path("path1")).map(|| warp::reply())
}
#[tokio::main]
async fn main() {
warp::serve(get_route_one().or(get_route_two()))
.run(([127, 0, 0, 1], 3000))
.await;
}
我已经尝试过使用warp:Filter
它的多种变体,但我还没有找到可以编译的返回类型。
PS 我知道在这个例子中将过滤器提取到它们自己的函数中只会使事情复杂化,但我有一种情况,它实际上可能会简化事情。