路由定义
路由的配置文件统一写在 router
目录下的 router.go
文件中
// BindController 注册路由,绑定控制器,绑定中间件
package router
func BindController(engine *tg.Engine) {
// 跨域中间件
engine.Use(middleware.Cors)
// 日志中间件
engine.Use(middleware.Logger)
// 首页宣传页
engine.GET("/", controller.HomeView)
// 分组路由
router := engine.Group("/api/v1")
{
router.GET("hello", controller.SayHello)
}
}
// BindController 注册路由,绑定控制器,绑定中间件
package router
func BindController(engine *tg.Engine) {
// 跨域中间件
engine.Use(middleware.Cors)
// 日志中间件
engine.Use(middleware.Logger)
// 首页宣传页
engine.GET("/", controller.HomeView)
// 分组路由
router := engine.Group("/api/v1")
{
router.GET("hello", controller.SayHello)
}
}
GET 路由
router.GET("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.GET("<路由地址>",controller.<控制器方法名称>,<中间件>)
如果使用
View()
去渲染视图,那么请采用GET路由
POST 路由
router.POST("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.POST("<路由地址>",controller.<控制器方法名称>,<中间件>)
PUT 路由
router.PUT("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.PUT("<路由地址>",controller.<控制器方法名称>,<中间件>)
DELETE 路由
router.DELETE("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.DELETE("<路由地址>",controller.<控制器方法名称>,<中间件>)
PATCH 路由
router.PATCH("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.PATCH("<路由地址>",controller.<控制器方法名称>,<中间件>)
OPTIONS 路由
router.OPTIONS("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.OPTIONS("<路由地址>",controller.<控制器方法名称>,<中间件>)
HEAD 路由
router.HEAD("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.HEAD("<路由地址>",controller.<控制器方法名称>,<中间件>)
ALL 路由
router.ALL("<路由地址>",controller.<控制器方法名称>,<中间件>)
router.ALL("<路由地址>",controller.<控制器方法名称>,<中间件>)
分组路由
router := engine.Group('<分组前缀名>',<中间件>)
{
router.GET("<路由地址>",controller.<控制器方法名称>)
}
router := engine.Group('<分组前缀名>',<中间件>)
{
router.GET("<路由地址>",controller.<控制器方法名称>)
}
使用路由中间件
router := engine.Group("/api/v1", middleware.Authorization)
{
router.GET("<路由地址>",controller.<控制器方法名称>,<中间件>)
}
router := engine.Group("/api/v1", middleware.Authorization)
{
router.GET("<路由地址>",controller.<控制器方法名称>,<中间件>)
}
中间件可以传多个,多种形式互相搭配可以有不一样的效果