Añade Sycamore para render de HTML con reactividad
This commit is contained in:
parent
13a408ce61
commit
e1ea149988
3 changed files with 13 additions and 5 deletions
|
|
@ -25,6 +25,7 @@ categories = [
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
actix-web = "4.0.0-rc.3"
|
actix-web = "4.0.0-rc.3"
|
||||||
|
sycamore = { version = "0.8.0-beta.2", features = ["ssr"] }
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
name = "pagetop"
|
name = "pagetop"
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,22 @@
|
||||||
use crate::core::{server, Server};
|
use crate::core::{server, Server};
|
||||||
|
|
||||||
async fn greet(req: server::HttpRequest) -> impl server::Responder {
|
async fn greet() -> impl server::Responder {
|
||||||
let name = req.match_info().get("name").unwrap_or("World");
|
"Hello!"
|
||||||
format!("Hello {}!", &name)
|
}
|
||||||
|
|
||||||
|
async fn greet_with_param(req: server::HttpRequest) -> server::HttpResponse {
|
||||||
|
let name: String = req.match_info().get("name").unwrap_or("World").into();
|
||||||
|
server::HttpResponse::Ok()
|
||||||
|
.body(sycamore::render_to_string(|ctx| sycamore::view! { ctx,
|
||||||
|
p { "Hello " (name) "!" }
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run() -> Result<Server, std::io::Error> {
|
pub fn run() -> Result<Server, std::io::Error> {
|
||||||
let server = server::HttpServer::new(|| {
|
let server = server::HttpServer::new(|| {
|
||||||
server::App::new()
|
server::App::new()
|
||||||
.route("/", server::web::get().to(greet))
|
.route("/", server::web::get().to(greet))
|
||||||
.route("/{name}", server::web::get().to(greet))
|
.route("/{name}", server::web::get().to(greet_with_param))
|
||||||
})
|
})
|
||||||
.bind("127.0.0.1:8000")?
|
.bind("127.0.0.1:8000")?
|
||||||
.run();
|
.run();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
pub use actix_web::{web, App, HttpRequest, HttpServer, Responder};
|
pub use actix_web::{web, App, HttpRequest, HttpResponse, HttpServer, Responder};
|
||||||
|
|
||||||
mod main;
|
mod main;
|
||||||
pub use main::run;
|
pub use main::run;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue