Struct actix_web::Path [−][src]
Extract typed information from the request's path.
Example
use actix_web::{http, App, Path, Result}; /// extract path info from "/{username}/{count}/index.html" url /// {username} - deserializes to a String /// {count} - - deserializes to a u32 fn index(info: Path<(String, u32)>) -> Result<String> { Ok(format!("Welcome {}! {}", info.0, info.1)) } fn main() { let app = App::new().resource( "/{username}/{count}/index.html", // <- define path parameters |r| r.method(http::Method::GET).with(index), ); // <- use `with` extractor }
It is possible to extract path information to a specific type that
implements Deserialize
trait from serde.
#[macro_use] extern crate serde_derive; use actix_web::{http, App, Path, Result}; #[derive(Deserialize)] struct Info { username: String, } /// extract path info using serde fn index(info: Path<Info>) -> Result<String> { Ok(format!("Welcome {}!", info.username)) } fn main() { let app = App::new().resource( "/{username}/index.html", // <- define path parameters |r| r.method(http::Method::GET).with(index), ); // <- use `with` extractor }
Methods
impl<T> Path<T>
[src]
[−]
impl<T> Path<T>
pub fn into_inner(self) -> T
[src]
[−]
pub fn into_inner(self) -> T
Deconstruct to an inner value
Trait Implementations
impl<T> AsRef<T> for Path<T>
[src]
[+]
impl<T> AsRef<T> for Path<T>
impl<T> Deref for Path<T>
[src]
[+]
impl<T> Deref for Path<T>
impl<T> DerefMut for Path<T>
[src]
[+]
impl<T> DerefMut for Path<T>
impl<T, S> FromRequest<S> for Path<T> where
T: DeserializeOwned,
[src]
[+]
impl<T, S> FromRequest<S> for Path<T> where
T: DeserializeOwned,
impl<T: Debug> Debug for Path<T>
[src]
[+]
impl<T: Debug> Debug for Path<T>
impl<T: Display> Display for Path<T>
[src]
[+]
impl<T: Display> Display for Path<T>