#2904·actix-web

重叠范围的工作方式与平面重叠路由不同

作者: RReverser创建于 2022年10月8日更新于 2026年7月15日
标签C-docsA-web

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