gin控制器

gin控制器

控制器分组

拆分路由和方法

- controller
--	admin
------	ArticleController.go
--	api
-------  ArticleController.go
--	itjcw
-------  DefaultController.go

controller/admin/ArticleController.go

package  admin
import "github.com/gin-gonic/gin"
type  ArticleController struct {

}

func  (a ArticleController) Index(ctx *gin.Context) {
	ctx.String{200,"文章首页"}
}
func  (a ArticleController) Add(ctx *gin.Context) {
	ctx.String{200,"增加文章"}
}

路由adminurls.go

package routes
import (
	"itjcw/controller/admin"
	"github.com/gin-gonic/gin"
)
func AdminRoutersInit(r *gin.Engine) {
	adminRouters := r.Group("/admin")
	{
		adminRouters.GET("/article", admin.ArticleController{}.Index)
		adminRouters.GET("/article/add", admin.ArticleController{}.Add)
	}
}

控制器的继承

controller/admin/BaseController.go

package admin
import ( 
	"net/http"
	"github.com/gin-gonic/gin"
)
type BaseController struct {
}
func (c BaseController) Success(ctx *gin.Context) {
	ctx.String(http.StatusOK, "成功")
}
func (c BaseController) Error(ctx *gin.Context) {
	ctx.String(http.StatusOK, "失败")
}

ArticleController继承 BaseController 继承后就可以调用控制器里面的公共方法了

package admin
import ( 
	"github.com/gin-gonic/gin"
)
type ArticleController struct {
	BaseController
}
func (a ArticleController) Index(ctx *gin.Context) {
	a.Success(ctx)
}

gin控制器
http://www.jcwit.com/article/507/
作者
Carlos
发布于
2024年4月8日
许可协议