GoLang Gin 解决跨域问题


引入跨域中间件

router.Use(req.Allow)

创建跨域中间件

func Allow(c *gin.Context)  {
   // 跨域 白名单
   var passUrl = []string{
      "/award/get", // 抽奖信息
      "/award/start", // 开始抽奖
   }
   fullPath := c.FullPath()
   for i:=0; i<len(passUrl); i++ {
      if passUrl[i] == strings.ToLower(fullPath) {
         c.Header("Access-Control-Allow-Origin", "*")
         c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
         c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
         c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
         c.Header("Access-Control-Allow-Credentials", "true")
         return // 白名单跳过检验
      }
   }
}



2887
0
2年前