package main
import (
"github.com/gogf/gf/v2/container/gtype"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
type Controller struct {
total *gtype.Int
}
func (c *Controller) Total(r *ghttp.Request) {
r.Response.Write("total:", c.total.Add(1))
}
func main() {
s := g.Server()
c := &Controller{
total: gtype.NewInt(),
}
s.BindHandler("/total", c.Total)
s.SetPort(8199)
s.Run()
}
7 Comments
qingtian009
有注册路由,为何没有注销路由
wongxy
有啥场景需要注销路由?
sersoong
如果有一份经常变动的路由列表配置,我怎么在s.Run()之后重新s.BindHandler注册路由呢?也就是说,如何动态的注册可能变化的路由
donghaozhe
这个问题有什么进展吗,我也想要动态注册路由,但是好像在s.Run之后再调用BindHandler并不起作用。
郭强
不支持
Server
在运行时注册路由,那样运行时效率会比较低,建议自行在中间件或者Handler
中做路由转发。dandan
注册路由的时候能否设置为静态资源,而不是用s.AddStaticPath
harbor
写的不够严谨, 包方法,应该称之为 包函数
不过这个操作全局变量的例子挺赞的,不用gtype类型,我测试也可以,请问这块【不适用gtype类型】有坑不?