#[controller]Expand description
§Controller macro
Generates a router() function from annotated methods.
#[require_role("ROLE_X")] auto-injects auth.require_role("ROLE_X")?;
at the beginning of the handler body.
§Usage
ⓘ
#[controller(prefix = "/api/v1/admin/articles")]
impl ArticleController {
#[get("/")]
#[require_role("ROLE_ADMIN")]
async fn list(
auth: AuthGuard,
State(state): State<AppState>,
) -> AppResult<impl IntoResponse> {
// auth.require_role("ROLE_ADMIN")?; ← auto-injected!
let items = ...;
Ok(Json(items))
}
}