Go-Spring入門篇(二)

李輕水發表於2021-11-28

在上章 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 拆分出去了

Go-Spring 官網
Github

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章