技术原理

[Go] 应用 Gin 架构迅速创建http服务项目

此章详细介绍:

  • 怎样用 Gin 架构创建 HTTP [ GET/POST/PUT/DELETE 等方式 ]

实际效果

用 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拓宽

  • 写分布式数据库 [操纵每一个Url timeout/log 这些个人行为]
  • 套swagger [下一篇]
  • gin.Context 也有 c.Header, c.Query, c.GetRawData() 这些操作方法,取主要参数十分便捷

第一次去套入Gin确实感觉很奇妙,此章纯迅速纪录实际效果,
若有不明白能够 再去寻找关键词,网络上也是有许多详细介绍文章内容跟操作方法喔

微信扫一扫,分享到朋友圈

[Go] 应用 Gin 架构迅速创建http服务项目
0 0

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
清明节人工智能培训班 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 疫情大数据

    热门搜索

    分类目录

    相关文章

    1. 暂时没有相关的文章!