feat(Go-StudyExample): 2020/12/9 :新增Gin框架使用示例

This commit is contained in:
Huangzj
2020-12-09 09:45:46 +08:00
parent 9ad10e8cd9
commit 1361db0274
22 changed files with 881 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
/*
* @Author : huangzj
* @Time : 2020/12/8 14:45
* @Description
*/
package gin
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
"testing"
"time"
)
func Logger() gin.HandlerFunc {
return func(c *gin.Context) {
t := time.Now()
// 请求前
fmt.Println(fmt.Sprintf("记录日志,本次请求的参数为:%v", c.Params))
c.Next()
// 请求后
latency := time.Since(t)
log.Print(latency)
// 获取发送的 status
status := c.Writer.Status()
log.Println(status)
}
}
//在请求前后者请求后自定义中间件处理
func TestMiddleWare(t *testing.T) {
router := gin.Default() //Default会返回两个中间件 Logger(), Recovery().这接口调用之前和之后进行处理,所以我们也可以自定义中间件
router.Use(Logger())
router.GET("/test", func(c *gin.Context) {
example := c.MustGet("example").(string)
// 打印:"12345"
log.Println(example)
})
// 监听并在 0.0.0.0:8080 上启动服务
router.Run(":8080")
}