如何在 Nickel 的路由中使用多个变量?
How to use multiple variables in routes with Nickel?
Nickel说可以在url中使用变量,听起来很有用,但是可以使用多个变量吗?
类似于:
www.example.com/login/:userid?:apikey?:etc
server.get("/start/:userid?:passwd", middleware! { |request|
// format!("This is user: {:?} = {:?}",
// request.param("userid"),
// request.param("passwd")
// );
});
您需要一个分隔符。例如:
#[macro_use] extern crate nickel;
use nickel::Nickel;
fn main() {
let mut server = Nickel::new();
server.utilize(router! {
get "/start/:userid/:passwd" => |request, _response| {
println!("this is user: {:?} = {:?}",
request.param("userid"),
request.param("passwd")
);
"Hello world!"
}
});
server.listen("127.0.0.1:6767");
}
从你的问题来看,你可能希望 passwd
作为某种查询参数,而不是 URL。
我会提醒您不要使用 GET
创建会话,您应该使用 POST
。
Nickel说可以在url中使用变量,听起来很有用,但是可以使用多个变量吗?
类似于:
www.example.com/login/:userid?:apikey?:etc
server.get("/start/:userid?:passwd", middleware! { |request|
// format!("This is user: {:?} = {:?}",
// request.param("userid"),
// request.param("passwd")
// );
});
您需要一个分隔符。例如:
#[macro_use] extern crate nickel;
use nickel::Nickel;
fn main() {
let mut server = Nickel::new();
server.utilize(router! {
get "/start/:userid/:passwd" => |request, _response| {
println!("this is user: {:?} = {:?}",
request.param("userid"),
request.param("passwd")
);
"Hello world!"
}
});
server.listen("127.0.0.1:6767");
}
从你的问题来看,你可能希望 passwd
作为某种查询参数,而不是 URL。
我会提醒您不要使用 GET
创建会话,您应该使用 POST
。