2个版本
0.9.1 | 2022年2月24日 |
---|---|
0.9.0 | 2022年2月20日 |
#1114 in HTTP服务器
在 kalgan 中使用
20KB
337 行
kaiguan-router
基于Kalgan框架中存储的yaml文件的路由的HTTP路由工具。
示例
以下测试中使用的yaml文件
## tests/routes.yaml
routes:
- home:
path: /
controller: home_controller::index
methods: get
- user:
path: /user/{id}
controller: user_controller::crud
middleware: user_middleware::test
methods: get, post, delete, put
requirements:
id: "^[0-9]+"
use kalgan_router::Router;
let router = Router::new("tests/routes.yaml");
assert_eq!(router.get_uri("home", HashMap::new()), "/".to_string())
let mut parameters = HashMap::new();
parameters.insert("id", "101".to_string());
assert_eq!(router.get_uri("user", parameters), "/user/101".to_string())
let route = router.get_route("/", "get").unwrap();
assert_eq!(route.get_name(), &"home".to_string());
assert_eq!(route.get_path(), &"/".to_string());
assert_eq!(route.get_methods(), &vec!["get".to_string()]);
assert_eq!(route.get_controller(), &"home_controller::index".to_string());
assert_eq!(route.get_middleware(), &"".to_string());
文档
更多信息请访问
许可
此crate受以下任一许可协议的许可
依赖
~4–6MB
~108K SLoC