本章介紹:
用 Postman 工具打看看就可以得到下面結果
SEND [method url ] | RESPONSE [status body ] |
---|---|
GET http://localhost:8080/api/v1/user | 200 , OK |
GET http://localhost:8080/api/v1/user/May | 200 ,"Hello,May" |
POST http://localhost:8080/api/v1/user {"name": "user1","age": 33} | 200 , {"name": "user1","age": 33} |
首次安裝,使用 go get命令獲取即可。
$ go get github.com/gin-gonic/gin
更新就是 go get -u。
$ go get -u github.com/gin-gonic/gin
// 1.啟動服務
func StartHttpServer(errChan chan error) {
gin.SetMode(gin.ReleaseMode)
engine := gin.New()
initRoutes(engine)
go func() { errChan <- engine.Run(:8080) }()
}
// 2.設定路由組
func initRoutes(e *gin.Engine) {
root := e.Group("api/v1")
userGroup := root.Group("user")
{
userGroup.GET("", apis.User)
userGroup.GET(":name", apis.UserName)
userGroup.POST("", apis.PostName)
}
}
// 3. 設定回覆
func User(c *gin.Context) {
c.JSON(http.StatusOK, "OK") //回覆status 200 & body "OK"
}
//接受path參數
name := c.Param("name")
c.JSON(http.StatusOK, fmt.Sprintf("%s,%s", "Hello", name))
}
//接收 json 內容
func PostName(c *gin.Context) {
sc := &structs.User{}
if err := c.ShouldBindJSON(sc); err != nil {
return
}
c.JSON(http.StatusOK, sc)
}
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
第一次去套用Gin真的覺得很神奇,本章純快速記錄效果,
如有不懂可以再去搜尋關鍵字,網路上也有很多介紹文章跟使用方法喔