GO语言基础实现
package main
import (
"fmt"
"os"
"net/http"
"io"
"time"
"github.com/gin-gonic/gin"
)
//处理机制
func helloHandler(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "Hello www.topgoer.com",
})
}
// SetupRouter 配置路由信息
func SetupRouter() *gin.Engine {
r := gin.Default()
//路由
r.GET("/topgoer", helloHandler)
//路由
r.POST("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
return r
}
func main(){
//日志文件
logfile, _ := os.Create("./agent.log")
defer logfile.Close()
//将日志写入日志文件和输出设备
gin.DefaultWriter = io.MultiWriter(logfile, os.Stdout)
//将日志写入日志文件
//gin.DefaultWriter = io.MultiWriter(logfile)
router := SetupRouter()
//使用中间件
//日志格式
router.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
// 你的自定义格式
return fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" %s\"\n",
param.ClientIP,
param.TimeStamp.Format(time.RFC1123),
param.Method,
param.Path,
param.Request.Proto,
param.StatusCode,
param.Latency,
param.Request.UserAgent(),
param.ErrorMessage,
)
}))
//router.Run("可以设置端口")
//router.Run(":8080")
//默认端口8080
router.Run()
}
转载地址
http://www.topgoer.com/gin框架/gin数据解析和绑定/json数据解析和绑定.html