golang web 封装之 handles
发布时间:2020-12-16 18:09:40 所属栏目:大数据 来源:网络整理
导读:封装方式一、将 model 和 handle 以及中间层放在不同的包中 main router.GET("/new",articles.New)router.GET("/articles/:_id",articles.Edit) handle func New(c *gin.Context) {article := models.Article{}c.HTML(http.StatusOK,"articles/form",gin.H{"
封装方式一、将 model 和 handle 以及中间层放在不同的包中 main router.GET("/new",articles.New) router.GET("/articles/:_id",articles.Edit) handle func New(c *gin.Context) { article := models.Article{} c.HTML(http.StatusOK,"articles/form",gin.H{ "title": "New article","article": article,}) } model // Article model type Article struct { Id bson.ObjectId `json:"_id,omitempty" bson:"_id,omitempty"` Title string `json:"title" form:"title" binding:"required" bson:"title"` Body string `json:"body" form:"body" binding:"required" bson:"body"` CreatedOn int64 `json:"created_on" bson:"created_on"` UpdatedOn int64 `json:"updated_on" bson:"updated_on"` // User bson.ObjectId `json:"user"` } middleware router.Use(middlewares.Connect) router.Use(middlewares.ErrorHandler) 封装方式二、将路由函数写好,将参数以参数形式传递给 action srv.Ws.HandleConnect(func(s *melody.Session) { FireConnect(srv,s) }) 还可以封装一个 help函数,一个 log方法 func (a *Action) ToLog(g *Game) { PutCards := make([]Card,0) TakeCard := g.CardFromReference(a.TakeCard) for _,id := range a.PutCards { PutCards = append(PutCards,g.CardFromReference(id)) } g.LastLog = &Log{a.PlayerName,a.Name,TakeCard,PutCards,a.Option} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |