gin web 2

routers/router.go

package routers

import (
    "github.com/gin-gonic/gin"
    
    "gin-blog/pkg/setting"
)

func InitRouter() *gin.Engine {
    r := gin.New()

    r.Use(gin.Logger())

    r.Use(gin.Recovery())

    gin.SetMode(setting.RunMode)

    r.GET("/test", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "test",
        })
    })

    return r
}

gin-blog/main.go

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "net/http"
 6 
 7     "gin-blog/routers"
 8     "gin-blog/pkg/setting"
 9 )
10 
11 func main() {
12     router := routers.InitRouter()
13 
14     s := &http.Server{
15         Addr:           fmt.Sprintf(":%d", setting.HTTPPort),
16         Handler:        router,
17         ReadTimeout:    setting.ReadTimeout,
18         WriteTimeout:   setting.WriteTimeout,
19         MaxHeaderBytes: 1 << 20,
20     }
21 
22     s.ListenAndServe()
23 }

定义接口

本节正是编写标签的逻辑,我们想一想,一般接口为增删改查是基础的

  • 获取标签列表:GET("/tags")
  • 新建标签:POST("/tags")
  • 更新指定标签:PUT("/tags/:id")
  • 删除指定标签:DELETE("/tags/:id")

新的routers/router.go

package routers

import (
    "github.com/gin-gonic/gin"
    
    "gin-blog/routers/api/v1"
    "gin-blog/pkg/setting"
)

func InitRouter() *gin.Engine {
    r := gin.New()

    r.Use(gin.Logger())

    r.Use(gin.Recovery())

    gin.SetMode(setting.RunMode)

    apiv1 := r.Group("/api/v1")
    {
        //获取标签列表
        apiv1.GET("/tags", v1.GetTags)
        //新建标签
        apiv1.POST("/tags", v1.AddTag)
        //更新指定标签
        apiv1.PUT("/tags/:id", v1.EditTag)
        //删除指定标签
        apiv1.DELETE("/tags/:id", v1.DeleteTag)
    }

    return r
}
原文地址:https://www.cnblogs.com/yeyong/p/14821873.html