mirror of
https://github.com/actix/actix-website
synced 2025-06-27 15:39:02 +02:00
First pass at url-dispatch chapter.
This commit is contained in:
@ -3,7 +3,7 @@ use actix_web::{guard, web, App, HttpResponse};
|
||||
|
||||
pub fn main() {
|
||||
App::new().service(
|
||||
web::resource("/").route(
|
||||
web::resource("/path").route(
|
||||
web::route()
|
||||
.guard(guard::Get())
|
||||
.guard(guard::Header("content-type", "text/plain"))
|
||||
|
@ -23,6 +23,6 @@ fn index(_req: HttpRequest) -> HttpResponse {
|
||||
fn main() {
|
||||
App::new()
|
||||
.route("/user/{name}", web::get().to(index))
|
||||
.route("/user/{name}", web::get().to(index));
|
||||
.route("/user/{name}", web::post().to(index));
|
||||
}
|
||||
// </main>
|
||||
|
@ -1,13 +1,16 @@
|
||||
// <minfo>
|
||||
use actix_web::{web, App, HttpRequest, Result};
|
||||
use actix_web::{web, App, HttpRequest, HttpServer, Result};
|
||||
|
||||
fn index(req: HttpRequest) -> Result<String> {
|
||||
let v1: u8 = req.match_info().query("v1").parse().unwrap();
|
||||
let v1: u8 = req.match_info().get("v1").unwrap().parse().unwrap();
|
||||
let v2: u8 = req.match_info().query("v2").parse().unwrap();
|
||||
Ok(format!("Values {} {}", v1, v2))
|
||||
let (v3, v4): (u8, u8) = req.match_info().load().unwrap();
|
||||
Ok(format!("Values {} {} {} {}", v1, v2, v3, v4))
|
||||
}
|
||||
|
||||
fn main() {
|
||||
App::new().route(r"/a/{v1}/{v2}/", web::get().to(index));
|
||||
App::new()
|
||||
.route("/a/{v1}/{v2}/", web::get().to(index))
|
||||
.route("", web::get().to(|| actix_web::HttpResponse::Ok()));
|
||||
}
|
||||
// </minfo>
|
||||
|
@ -12,7 +12,7 @@ fn index(info: web::Path<Info>) -> Result<String> {
|
||||
Ok(format!("Welcome {}!", info.username))
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
App::new().route(
|
||||
"/{username}/index.html", // <- define path parameters
|
||||
web::get().to(index),
|
||||
|
@ -7,7 +7,7 @@ fn index(_req: HttpRequest) -> HttpResponse {
|
||||
|
||||
fn main() {
|
||||
App::new()
|
||||
.service(web::resource("/prefix").route(web::get().to(index)))
|
||||
.service(web::resource("/prefix").to(index))
|
||||
.service(
|
||||
web::resource("/user/{name}").route(web::get().to(|| HttpResponse::Ok())),
|
||||
);
|
||||
|
@ -1,15 +1,17 @@
|
||||
// <ext>
|
||||
use actix_web::{web, App, Error, HttpRequest, HttpResponse};
|
||||
use actix_web::{web, App, Error, HttpRequest, HttpResponse, Responder};
|
||||
|
||||
fn index(req: HttpRequest) -> Result<HttpResponse, Error> {
|
||||
let url = req.url_for("youtube", &["oHg5SJYRHA0"])?;
|
||||
fn index(req: HttpRequest) -> impl Responder {
|
||||
let url = req.url_for("youtube", &["oHg5SJYRHA0"]).unwrap();
|
||||
assert_eq!(url.as_str(), "https://youtube.com/watch/oHg5SJYRHA0");
|
||||
Ok(HttpResponse::Ok().into())
|
||||
|
||||
url.into_string()
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
App::new()
|
||||
.service(web::resource("/index.html").route(web::get().to(index)))
|
||||
.external_resource("youtube", "https://youtube.com/watch/{video_id}");
|
||||
.route("/index.html", web::get().to(index))
|
||||
.external_resource("youtube", "https://youtube.com/watch/{video_id}")
|
||||
.route("/", actix_web::web::get().to(index));
|
||||
}
|
||||
// </ext>
|
||||
|
@ -10,7 +10,7 @@ fn index(req: HttpRequest) -> Result<HttpResponse> {
|
||||
.finish())
|
||||
}
|
||||
|
||||
fn main() {
|
||||
pub fn main() {
|
||||
App::new()
|
||||
.service(
|
||||
web::resource("/test/{a}/{b}/{c}")
|
||||
|
Reference in New Issue
Block a user