在上篇裡,我介紹了讀取配置,並嘗試連線了資料庫,那麼這一篇呢,我們主要利用gin框架來寫寫簡單的介面。
路由
為了便於管理,還是將路由檔案單獨出來,新建routes:
package router
import (
"net/http"
"github.com/gin-gonic/gin"
"local.com/sai0556/gin-frame/controller"
)
func Load(g *gin.Engine) *gin.Engine {
g.Use(gin.Recovery())
// 404
g.NoRoute(func (c *gin.Context) {
c.String(http.StatusNotFound, "404 not found");
})
g.GET("/", controller.Index)
return g
}
控制器
上面的程式碼中我們看到了controller,我們建一個目錄controller:
先建base.go檔案,用於寫一些基礎的方法,如SendResponse返回json。
package controller
import (
"net/http"
"github.com/gin-gonic/gin"
)
type Response struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data"`
}
func SendResponse(c *gin.Context, code int, message string, data interface{}) {
c.JSON(http.StatusOK, Response{
Code: code,
Message: message,
Data: data,
})
}
再來寫個index.go,處理邏輯。
package controller
import (
"github.com/gin-gonic/gin"
)
func Index(c *gin.Context) {
SendResponse(c, 0, "success", nil)
}
啟動gin
// main.go
// 在連線資料可後加入以下程式碼
gin.SetMode("debug")
g := gin.New()
g = router.Load(g)
g.Run(":8080")
不妨啟動看看效果。
go run main.go -c=./conf/config.yaml
當然,這裡的服務啟動和停止可以寫得再優雅一些。
推薦文章:
本作品採用《CC 協議》,轉載必須註明作者和本文連結
收藏前不妨點個贊試試!!!
分享開發知識,歡迎交流。qq957042781,公眾號:愛好歷史的程式設計師。
點選直達個人部落格