Iris 拥有你从未遇到过的 简单的,强大的路由.
同时, Iris有自己的路径(就像编程语言一样),用于路由的路径语法及其路径参数解析和评估. 我们简称为"macros".
怎么样? 它计算了它的需求,如果没有需要任何特殊的正则表达式 那么它只是用低级路径语法注册路由,否则它预先编译正则表达式并添加必要的中间件。 这意味着相对于其他路由器或Web框架 您的性能成本为零 。
路径路径参数的标准macro类型
如果缺少类型,则参数的类型默认为字符串,因此{param} == {param:string}。
如果在该类型上找不到函数,则使用字符串macro类型的函数。
除了Iris提供基本类型和一些默认的“macro功能”你也可以注册自己的func!
注册命名路径参数功能
在 func(argument ...) 你可以有任何标准类型, 它将在服务器启动之前进行验证,因此不关心那里的任何性能成本,它在服务时运行的唯一事情就是返回func(paramValue string)bool。
{param:string equal(iris)} , "iris" 在这里是一个参数:
示例代码:
路径参数名称应仅包含字母。不允许使用“_”和数字等符号。
最后,不要将ctx.Params()与ctx.Values()混淆。路径参数的值转到ctx.Params()和上下文的本地存储 可以用来在处理程序和中间件之间进行通信,转到ctx.Values()。