分享一个自己的路由工具

2021-11-12 04:57:52 +08:00
 xnotepad
项目在 https://github.com/issue9/mux

能够自动生成 OPTIONS 和 HEAD 的请求处理方式;
也支持类似于 discuz 的路由风格,不会假定两个参数之间必须要有一个 / 符号分隔;
能正确区分不同类型的参数,比如 `/posts/{id}` 和 `/posts/{id:\\d+}`,只有无法匹配后者的时候,才会尝试匹配前者;
其它的中间件什么的也都有,感觉也玩不出什么花来了。

维护了大概有 4-5 年时间,目前刚更新到 v5 版本,删除了部分无用的功能,个人感觉已经比较稳定了,该有的功能也都有了,性能上也不算太差,兼容官方的 http.Handler 接口。有兴趣的可以试试。

关于性能,我自己做了一个对比数据: https://caixw.github.io/go-http-routers-testing/

同时也提供了一组常用的中间件: https://github.com/issue9/middleware
2603 次点击
所在节点    Go 编程语言
3 条回复
BeijingBaby
2021-11-12 14:30:41 +08:00
这类轮子太多了
xnotepad
2021-11-12 15:18:37 +08:00
@BeijingBaby 没办法,水平有限,只能造一些简单的轮子。
liaohongxing
2021-11-13 15:17:24 +08:00
楼主的 identicon 一直在用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/814811

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX