Skip to main content

parse_path

Function parse_path 

Source
pub fn parse_path<'a>(uri: &'a str) -> ParsedPath<'a>
Expand description

解析 URI 路径为 (: (app, controller, action)` 三元组

对齐 PHP auto_multi_app 解析规则:

  • /(index, Index, index)
  • /foo(index, Foo, index)
  • /foo/bar(index, Foo, bar)
  • /oapc/foo/bar(oapc, Foo, bar)(当 oapcapp_map 中)
  • /common/foo/bar(index, Common, foo)commondeny_app_list 中,当作控制器处理)

§参数

  • uri:请求 URI(如 /oapc/customer/index?id=1),查询字符串会被自动剥离

§返回

返回 ParsedPath,永不为空。

§Examples

use sz_rust_router_facade::router::parse_path;

let p = parse_path("/oapc/customer/detail?id=3");
assert_eq!(p.app, "oapc");
assert_eq!(p.controller, "Customer");
assert_eq!(p.action, "detail");

// 单级路径 → 默认应用 + Index 控制器
let root = parse_path("/");
assert_eq!(root.controller, "Index");