用途:Relic Routing 将传入请求按路径和 HTTP 方法映射到处理器,用于在 Relic 应用中添加端点、处理动态 URL 及搭建 URL 路由。
主要能力:在 RelicApp(实现 RelicRouter)上用 get、post、put、delete 等便捷方法注册路由,或通过 add(Method, path, handler) 指定方法。anyOf 可指定多个方法,any 匹配所有方法。处理器签名为 FutureOr<Result> Function(Request req),返回 Response、WebSocketUpgrade 或 Hijack。
路径参数:用 :name 捕获单个段,经 req.pathParameters.raw[#id] 读取;也可定义类型化访问器,如 IntPathParam(#id)、DoublePathParam(#lat)、NumPathParam,通过 req.pathParameters.get(idParam) 自动解析;括号调用形式返回可空值。自定义类型可用 PathParam<Status>(#status, Status.parse),也可继承扩展。
通配与尾部段:* 匹配任意单段但不捕获;/** 捕获剩余整个路径,通过 req.remainingPath 读取,服务目录时通常需要。
优先级:字面量段优先于动态段,支持回溯以找到最佳匹配,注册顺序不影响匹配结果。
请求转发:用 copyWith 修改 URL 后调用 req.forwardTo(newReq) 让请求重新经过完整路由管线(含中间件);若请求未经 RelicRouter 路由会抛 StateError。
限制:资料未提供关于性能、并发、错误处理策略、版本要求、安装方式及收费的说明,暂未提供。