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/