昨个组长让研究下gin框架的路由配置,主要是想将方法的定义和调用拆分到不同的文件,那就搞起呀!
首先应确保项目在工作目录下,也就是GOPATH指定的目录下,可通过
go env
查看,我的工作目录是/root/go。但是项目应该移到该目录下的./src目录下,最终项目所在目录就是
/root/go/src/study
study是我的项目名称。项目下的文件目录是这样的,有两个目录文件controller和route,顾名思义,不用说也知道是什么了。
controller目录下定义的是方法的实现,controller下有个func.go文件,文件里定义了两个方法Func1()和Func2(),方法实现随便写,输出个hello world都行,我这里就不展示了。注意,方法名首字母一定要大写!文件写好之后,还要执行下
go install
然后就是route目录下有个route.go文件:
package route
import (
"study/controller"
"github.com/gin-gonic/gin"
)
func RegisterRoutes() *gin.Engine {
router := gin.Default()
router.GET("/fundinfoclient/:fundcode", controller.Func1)
router.GET("/", controller.Func2)
router.GET("/index", controller.Func2)
return router
}
文件内容如上,先导入controller目录下的文件,然后主要是定义一个gin.Default()变量,然后返回一个*gin.Engine变量的值,也就是该方法中的route。
最后就是main.go文件了:
package main
import (
"study/route"
)
func main() {
router := route.RegisterRoutes();
// 绑定端口是8890
router.Run(":8890")
}
导入项目下的route目录下文件,调用route文件中的RegisterRoutes()方法,最后绑定端口8890。然后执行
go run main.go
如下所示:
说明服务已经启动,在监听8890端口了。然后开启另一个终端。可执行
curl http://127.0.0.1:8890/
这样在之前那个窗口就可以看见返回信息:
返回的是200,说明就返回成功。至此,路由配置就基本完成了。
但也还有问题需继续研究,就是当以后controller下文件多了后,直接引用势必带来麻烦,应考虑分组,慢慢再研究吧。