golang web 封装之 handles

golang web 封装之 handles,第1张

概述封装方式一、将 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.Stat

封装方式一、将 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 modeltype 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}}
总结

以上是内存溢出为你收集整理的golang web 封装之 handles全部内容,希望文章能够帮你解决golang web 封装之 handles所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1276111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存