Gin框架学习-简单服务搭建
这个框架学习主要需求是做一个数据控制和分发的服务,要求能够实现数据的收集和发送,考虑是否使用数据库。目前使用的是Gin框架。
安装:
go get -u github.com/gin-gonic/gin
数据接受
一个简单的http服务
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default()
r.GET("/logs", func(c *gin.Context) {
c.String(http.StatusOK, "test")
})
r.Run(":80")
}
传递json数据
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
type attack struct {
User string `form:"user" json:"user" uri:"user" xml:"user" binding:"required"`
Age int `form:"age" json:"age" uri:"age" xml:"age" binding:"required"`
}
func main() {
r := gin.Default()
r.POST("/logs", func(c *gin.Context) {
json := attack{}
err := c.ShouldBindJSON(&json)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, fmt.Sprintf("name: %s, age:%d", json.User, json.Age))
})
r.Run(":80")
}
注意,struct下首字母大写的问题