2
                            /{hash}.json
/{hash}/{hash}的优先级高于/{hash}.json ,这个顺序有点问题。
现在只能改变字段名称让/{hash}.json排前面,不过这样在控制器中就需要多做一次判断。
建议加入正则,
beego 的:hash([\w]+)
/{hash}.json
/{hash}/{hash}的优先级高于/{hash}.json ,这个顺序有点问题。
现在只能改变字段名称让/{hash}.json排前面,不过这样在控制器中就需要多做一次判断。
建议加入正则,
beego 的:hash([\w]+)
@zuozhehao GF的路由采用的是深度优先匹配,越是精准的路由规则优先级越高,因此/{hash}.json的优先级高于/{hash}。复杂的路由,特别是包含正则表达式的路由,不仅效率低并且长远来看是不便于维护的,因此GF不提供复杂的正则匹配路由。现有的路由规则已经可以满足绝大多数的场景需求。
@gqcn 那产生bug 了,当前版本/{hash}优先级高于/{hash}.json。
 
                                @zuozhehao 如果你访问/xxx.json将会匹配/{hash}.json这个规则;如果你访问/xxx将会匹配/{hash}这个规则,有什么问题吗?
@gqcn 那也就是 /{hash} 优先级也高于 /{hash}.{type} ?
你说的/{hash}优先级比/{hash}.json高的代码示例有吗,贴上来我看看呢?
嗯,我测试了下,/{hash}.json 优先级比/{hash} 高。
不过/{hash}比/{hash}.{type} 优先级高。
@zuozhehao 确实这个细节没处理得特别好,我这里改进了一下,提交到了master分支,你可以试试,如果仍有建议非常欢迎继续提。