Crate actix_web_codegen
source · [−]Expand description
Routing and runtime macros for Actix Web.
Actix Web Re-exports
Actix Web re-exports a version of this crate in it’s entirety so you usually don’t have to specify a dependency on this crate explicitly. Sometimes, however, updates are made to this crate before the actix-web dependency is updated. Therefore, code examples here will show explicit imports. Check the latest actix-web attributes docs to see which macros are re-exported.
Runtime Setup
Used for setting up the actix async runtime. See main macro docs.
#[actix_web_codegen::main] // or `#[actix_web::main]` in Actix Web apps
async fn main() {
async { println!("Hello world"); }.await
}
Single Method Handler
There is a macro to set up a handler for each of the most common HTTP methods that also define additional guards and route-specific middleware.
See docs for: GET, POST, PATCH, PUT, DELETE, HEAD, CONNECT, OPTIONS, TRACE
#[get("/test")]
async fn get_handler() -> HttpResponse {
HttpResponse::Ok().finish()
}
Multiple Method Handlers
Similar to the single method handler macro but takes one or more arguments for the HTTP methods it should respond to. See route macro docs.
#[route("/test", method="GET", method="HEAD")]
async fn get_and_head_handler() -> HttpResponse {
HttpResponse::Ok().finish()
}
Attribute Macros
Creates route handler with actix_web::guard::Connect
.
Creates route handler with actix_web::guard::Delete
.
Creates route handler with actix_web::guard::Get
.
Creates route handler with actix_web::guard::Head
.
Marks async main function as the actix system entry-point.
Creates route handler with actix_web::guard::Options
.
Creates route handler with actix_web::guard::Patch
.
Creates route handler with actix_web::guard::Post
.
Creates route handler with actix_web::guard::Put
.
Creates resource handler, allowing multiple HTTP method guards.
Marks async test functions to use the actix system entry-point.
Creates route handler with actix_web::guard::Trace
.