1

Rocket のサイトのガイドでは、動的ルートをランク付けできることが示唆されています。この例では、ルートの一致基準として動的部分にさまざまなタイプを使用しています。以外の URL を入力するとusize、次のエラーが発生します。

GET /user/three text/html:
    => Matched: GET /user/<id>
    => Failed to parse 'id': RawStr("three")
    => Outcome: Forward
    => Error: No matching routes for GET /user/three text/html.
    => Warning: Responding with 404 Not Found catcher.
    => Response succeeded.

私が使用しているコード:

#![feature(plugin)]
#![plugin(rocket_codegen)]

extern crate rocket;
use rocket::http::RawStr;

#[get("/user/<id>")]
fn user(id: usize) -> String { format!("First rank") }

#[get("/user/<id>", rank = 2)]
fn user_int(id: isize) -> String { format!("second rank") }

#[get("/user/<id>", rank = 3)]
fn user_str(id: &RawStr) -> String { format!("last rank") }

fn main() {
    rocket::ignite().mount("/", routes![user]).launch();
}

テスト404 errorを表示する際にページの代わりに期待します。なぜこれをしていないのですか?/user/threelast rank

4

1 に答える 1