cedar-router 基于前缀树算法的 golang router开源项目

我要开发同款
匿名用户2020年02月10日
188阅读

技术信息

开源地址
https://gitee.com/mirrors/cedar-router
授权协议
GPL

作品详情

cedar,轻量级Golag路由器,基于前缀树算法。

cedar.NewRouter().Get(prefix,http.HadlerFuc,http.Hadler)

推荐组件

sessio

更新

现在支持了模糊路由匹配

r.Get("/idex/:id",fuc(whttp.ResposeWriter,r*http.Request){fmt.Pritl(r.URL.Fragmet)//<-usethis,getthe`id`},il)

全局方法

r.GlobalFuc("test",fuc(r*http.Request)error{fmt.Pritl("123213")returil})

支持常见的method

r:=cedar.NewRouter()r.Get("/",http.HadlerFuc(),il)r.Post("/",http.HadlerFuc(),il)r.Put("/",http.HadlerFuc(),il)r.Delete("/",http.HadlerFuc(),il)

hadFuc和Hadler在同一路径下我建议只填写一个.测试通过websocket,静态文件路由需要改写ServerHTTP方法.我默认在当前路径下static/

同一路由下不同Method,会覆盖前面的的HadlerFuc和Hadler

新版本修复了该问题

群组路由

r:=cedar.NewRouter()r.Group("/a",fuc(group*cedar.Groups){group.Get("/b",http.HadlerFuc(),il)group.Group("/c",fuc(groups*cedar.Groups){group.Get("/d",http.HadlerFuc(),il)})})

同时也支持RestFul风格

r:=cedar.NewRestRouter(cedar.RestCofig{EtryPath:"blog",ApiName:"api",Patter:".",})r.Get("user",fuc(writerhttp.ResposeWriter,request*http.Request){r.Template(writer,"/idex")},il)//localhost/blog?api=user

通过 localhost/blog?api=user 获得访问.

软件稳定运行在服务器

功能介绍

cedar,轻量级 Golang 路由器,基于前缀树算法。 cedar.NewRouter().Get(prefix,http.HandlerFunc,http.Handler) 推荐组件 se...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论