定义用户处理器
package zdpgo_gin_login
type UserHandler struct{}
定义常用的方法
func (h *UserHandler) Login(c *gin.Context) {}
func (h *UserHandler) Logout(c *gin.Context) {}
func (h *UserHandler) Register(c *gin.Context) {}
func (h *UserHandler) GetByID(c *gin.Context) {}
func (h *UserHandler) UpdateByID(c *gin.Context) {}
使用gin创建路由并使用
package mainimport (gin "github.com/zhangdapeng520/zdpgo_gin"ginLogin "github.com/zhangdapeng520/zdpgo_gin_login"_ "github.com/zhangdapeng520/zdpgo_mysql"
)func main() {server := gin.Default()user := &ginLogin.UserHandler{}server.POST("/user/register", user.Register)server.POST("/user/login", user.Login)server.GET("/user/:id", user.GetByID)server.PUT("/user/:id", user.UpdateByID)server.Run(":8888")
}
直接封装一个初始化路由的方法
func (h *UserHandler) InitRouter(engine *gin.Engine) {userGroup := engine.Group("/zdpgo_gin_login/user")userGroup.POST("/register", h.Register)userGroup.POST("/login", h.Login)userGroup.GET("/:id", h.GetByID)userGroup.PUT("/:id", h.UpdateByID)
}
此时入口代码会变少很多
package mainimport (gin "github.com/zhangdapeng520/zdpgo_gin"ginLogin "github.com/zhangdapeng520/zdpgo_gin_login"_ "github.com/zhangdapeng520/zdpgo_mysql"
)func main() {server := gin.Default()user := &ginLogin.UserHandler{}user.InitRouter(server)server.Run(":8888")
}