Как передать строку запроса в HttpRequest.url_for() в actix-web?
Документация о url_for.
Код:
fn index(req: HttpRequest) -> HttpResponse {
let url = req.url_for("foo", &["1", "2", "3"]); // <- generate url for "foo" resource
HTTPOk.into()
}
fn main() {
let app = Application::new()
.resource("/test/{one}/{two}/{three}", |r| {
r.name("foo"); // <- set resource name, then it could be used in `url_for`
r.method(Method::GET).f(|_| httpcodes::HTTPOk);
})
.finish();
}
Как добавить к сгенерированному URL строку запроса, например ?name=Alex
? Есть ли хороший встроенный способ сделать это с помощью HttpRequest.url_for()
(не просто добавить, как url += query_str
)
0 ответов
url_for
дает вам Result<Url, Error>
, который можно развернуть и использовать .set_query
на:
req.url_for("foo", &["1", "2", "3"]).unwrap().set_query(Some("q=asdf"));