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下首字母大写的问题

相关