Struct actix_web::Path
[−]
[src]
pub struct Path<T> { /* fields omitted */ }
Extract typed information from the request's path.
Example
use actix_web::{App, Path, Result, http}; /// 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::{App, Path, Result, http}; #[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]
pub fn into_inner(self) -> T
[src]
Deconstruct to an inner value
Trait Implementations
impl<T> AsRef<T> for Path<T>
[src]
impl<T> Deref for Path<T>
[src]
type Target = T
The resulting type after dereferencing.
ⓘImportant traits for &'a mut Wfn deref(&self) -> &T
[src]
ⓘImportant traits for &'a mut W
Dereferences the value.
impl<T> DerefMut for Path<T>
[src]
ⓘImportant traits for &'a mut Wfn deref_mut(&mut self) -> &mut T
[src]
ⓘImportant traits for &'a mut W
Mutably dereferences the value.
impl<T, S> FromRequest<S> for Path<T> where
T: DeserializeOwned,
S: 'static,
[src]
T: DeserializeOwned,
S: 'static,
type Config = ()
Configuration for conversion process
type Result = FutureResult<Self, Error>
Future that resolves to a Self
fn from_request(req: &HttpRequest<S>, _: &Self::Config) -> Self::Result
[src]
Convert request to a Self