重叠范围的工作方式与平面重叠路由不同
use actix_web::{get, put, web, App, HttpServer, Responder};
#[get("/dimensions")] async fn camera_dimensions() -> impl Responder { "800x600" }
#[get("/owner")] async fn camera_owner() -> impl Responder { "John Doe" }
#[get("/distance")] async fn focuser_focus() -> impl Responder { "42" }
#[put("/distance")] async fn focuser_focus_set(value: web::Path) -> impl Responder { format!("Set focus to {}", value) }
#[get("/connected")] async fn device_connected(device_type: web::Path) -> impl Responder { format!("{} is connected", device_type) }
#[put("/connect")] async fn device_connect(device_type: web::Path) -> impl Responder { format!("Connecting {}", device_type) }
#[actix_web::main] async fn main() -> std::io::Result<()> { HttpServer::new(|| { App::new() .service( web::scope("/camera") .service(camera_dimensions) .service(camera_owner), ) .service( web::scope("/focuser") .service(focuser_focus) .service(focuser_focus_set), ) .service( web::scope("/{device_type}") .service(device_connected) …
内容来源: actix/actix-web