路由
2025年7月1日大约 1 分钟hyperlanewebrustusage-introductionrequest
静态路由
提示
hyperlane
框架支持静态路由(如果重复注册相同的静态路由,框架会抛出异常,程序退出运行),使用方法如下:
注册
server.route("/test", |ctx: Context| {}).await;
动态路由
提示
hyperlane
框架支持动态路由(如果重复注册相同模式的动态路由,框架会抛出异常,程序退出运行),具体使用方法如下:
注册
提示
动态路由使用 {}
包裹,有两种写法
{key}
内直接些字符串,则将匹配的value
存入key
对应的value
中。{key:regex}
则将正则表达式匹配的value
存入key
对应的value
中,如果路径的最后是正则动态路由,则匹配后续所有路径,例如/test/{file:^.*$}
匹配/test/a/b/c/d
会成功,file
的value
为a/b/c/d
。如果路径的最后不是正则动态路由,则仅使用正则匹配当前段的路由,例如/test/{file:^.*$}/b
匹配/test/a/b
会成功,file
的value
为a
。
朴素动态路由
server.route("/test/{text}", |ctx: Context| {}).await;
正则表达式动态路由
server.route("/test/{number:\\d+}", |ctx: Context| {}).await;
获取全部动态路由参数
ctx.get_route_params().await;
获取某个动态路由参数
ctx.get_route_param("text").await;