0
点赞
收藏
分享

微信扫一扫

golang gin 自定义中间件:AbortWithStatusJSON终止的使用


package main

import (
"log"

"github.com/gin-gonic/gin"
)

func middleware1(c *gin.Context) {
log.Println("middleware1 in ....")
c.Set("key", 1000)
log.Println("middleware1 before next ....")
// 判断
k := c.GetInt("key")
if k == 1000 {
c.AbortWithStatusJSON(200, gin.H{
"msg": "验证失败",
})
return
}
c.Next()
log.Println("middleware1 next after .....")
log.Println("middleware1 done ....")

}

func middleware2(c *gin.Context) {
log.Println("middleware2 in ....")
log.Println("middleware2 before next ....")
c.Next()
log.Println("middleware2 next after .....")
log.Println("middleware2 done ....")
}

func main() {
r := gin.Default()
r.Use(middleware1, middleware2)
r.GET("ping", func(c *gin.Context) {
log.Println("func in .....")
k := c.GetInt("key") // 1000
// 3000
c.Set("key", k+2000)
log.Println("func done .....")
c.JSON(200, gin.H{
"msg": "success",
})
})
r.Run()
}


举报

相关推荐

0 条评论