2018-05-24 10:13:55 -07:00
|
|
|
// <path>
|
2019-06-16 20:19:25 -04:00
|
|
|
use actix_web::{http::Method, web, App, Result};
|
|
|
|
use serde::Deserialize;
|
2018-05-24 10:13:55 -07:00
|
|
|
|
|
|
|
#[derive(Deserialize)]
|
|
|
|
struct Info {
|
|
|
|
username: String,
|
|
|
|
}
|
|
|
|
|
|
|
|
// extract path info using serde
|
2019-06-16 20:19:25 -04:00
|
|
|
fn index(info: web::Path<Info>) -> Result<String> {
|
2018-05-24 10:13:55 -07:00
|
|
|
Ok(format!("Welcome {}!", info.username))
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let app = App::new().resource(
|
|
|
|
"/{username}/index.html", // <- define path parameters
|
|
|
|
|r| r.method(Method::GET).with(index),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
// </path>
|