Skip to main content

ControllerRouter

Trait ControllerRouter 

Source
pub trait ControllerRouter {
    // Required method
    fn router_rules(&self) -> Vec<RouteRule>;

    // Provided methods
    fn router_prefix(&self) -> &str { ... }
    fn router_middleware(&self) -> Vec<String> { ... }
}
Expand description

控制器路由契约

#[controller] 属性宏自动实现,声明控制器内的所有路由。

§用法(属性宏实现后)

use sz_rust_core::routing::ControllerRouter;

#[controller(prefix = "/users")]
struct UserController;

impl UserController {
    #[get("/{id}")]
    fn show(&self, id: i64) -> String { ... }
}

// ControllerRouter 由 #[controller] 自动实现
let routes = UserController.router_rules();

Required Methods§

Source

fn router_rules(&self) -> Vec<RouteRule>

返回控制器内所有路由规则(已包含 prefix)

Provided Methods§

Source

fn router_prefix(&self) -> &str

控制器的路径前缀(如 /users

Source

fn router_middleware(&self) -> Vec<String>

控制器级中间件(应用到控制器内所有路由)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§