1
0
mirror of https://github.com/actix/actix-website synced 2024-11-23 16:31:08 +01:00

Clarify main.rs in Getting Started (#232) (#287)

Co-authored-by: philpill <philpill@gmail.com>
This commit is contained in:
philpill 2022-09-24 13:24:35 +01:00 committed by GitHub
parent af14bf7493
commit 52ba8ea777
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,12 +35,16 @@ actix-web = "${actixWebMajorVersion}"`}
Request handlers use async functions that accept zero or more parameters. These parameters can be extracted from a request (see `FromRequest` trait) and returns a type that can be converted into an `HttpResponse` (see `Responder` trait):
Replace the contents of `src/main.rs` with the following:
<CodeBlock example="getting-started" section="handlers" />
Notice that some of these handlers have routing information attached directly using the built-in macros. These allow you to specify the method and path that the handler should respond to. You will see below how to register `manual_hello` (i.e. routes that do not use a routing macro).
Next, create an `App` instance and register the request handlers. Use `App::service` for the handlers using routing macros and `App::route` for manually routed handlers, declaring the path and method. Finally, the app is started inside an `HttpServer` which will serve incoming requests using your `App` as an "application factory".
Further append the following `main` function to `src/main.rs`:
<CodeBlock example="getting-started" section="main" />
That's it! Compile and run the program with `cargo run`. The `#[actix_web::main]` macro executes the async main function within the actix runtime. Now you can go to `http://127.0.0.1:8080/` or any of the other routes you defined to see the results.