在上章 Go-Spring入門篇 我們建立了一個簡單的 web 專案。
然而現代專案都是一個 controller + service 外加一個實體層,本章我們試著把 controller 拆分出去。
新建一個 controllers 目錄下面建立一個 controllers.go 來匯入各個獨立的 controller。
controllers/home/home.go
package home
import "github.com/go-spring/spring-core/web"
type Controller struct {
}
func (c *Controller) Home(ctx web.Context) {
ctx.String("Ok! \n")
}
controllers/contreollers.go
package controllers
import (
"learn/controllers/home"
"github.com/go-spring/spring-core/gs"
)
func init() {
gs.Object(new(home.Controller)).Init(func(c *home.Controller) {
// 註冊路由
gs.GetMapping("/", c.Home)
})
}
main.go
package main
import (
"log"
_ "learn/controllers"
"github.com/go-spring/spring-core/gs"
_ "github.com/go-spring/starter-gin"
)
func main() {
log.Fatal(gs.Run())
}
重新執行 go run main.go 訪問瀏覽器獲得相同的效果,這樣就把 controller 拆分出去了
本作品採用《CC 協議》,轉載必須註明作者和本文連結