1个不稳定版本
0.2.0 | 2023年10月14日 |
---|
#1274 in 进程宏
1,020次每月下载
31KB
547 代码行
文档和资源
- API文档 TODO: 用分支的文档链接替换
- 最低支持Rust版本(MSRV):1.54
编译测试
使用trybuild
库。所有编译失败的测试都应该包含由trybuild
生成的stderr文件。有关如何执行此操作的详细信息,请参阅trybuild文档中的工作流程部分。
lib.rs
:
Actix Web路由和运行时宏。
Actix Web重导出
Actix Web完全导出此crate的版本,因此您通常无需明确指定对此crate的依赖。但是,有时在此crate更新之前会对此crate进行更新。因此,这里的代码示例将显示明确的导入。请查看最新的actix-web属性文档,以查看哪些宏被重导出。
运行时设置
用于设置Actix异步运行时。请参阅[宏@main]宏文档。
#[actix_web_codegen_const_routes::main] // or `#[actix_web::main]` in Actix Web apps
async fn main() {
async { println!("Hello world"); }.await
}
单方法处理器
有一个宏可以设置对最常见的HTTP方法的处理器,同时也定义了额外的守卫和特定路由的中间件。
请参阅以下文档: GET,POST,PATCH,PUT,DELETE,HEAD,CONNECT,OPTIONS,TRACE
#[get("/test")]
async fn get_handler() -> HttpResponse {
HttpResponse::Ok().finish()
}
多种方法处理器
类似于单方法处理器宏,但它接受一个或多个参数,用于指定应响应的HTTP方法。请参阅[macro@route]宏文档。
#[route("/test", method = "GET", method = "HEAD")]
async fn get_and_head_handler() -> HttpResponse {
HttpResponse::Ok().finish()
}
多种路径处理器
作为多个单方法处理器宏的包装器。它不接受任何参数,并将这些参数委托给单个方法宏。请参阅[macro@routes]宏文档。
#[routes]
#[get("/test")]
#[get("/test2")]
#[delete("/test")]
async fn example() -> HttpResponse {
HttpResponse::Ok().finish()
}
依赖项
~1.7–2.5MB
~46K SLoC