【中间件-cors跨域】Gin项目使用cors

1.安装cors

go get github.com/gin-contrib/cors

2.cors中间件

func CORSMiddleware() gin.HandlerFunc {
	// cors.New函数创建了一个CORS中间件实例
	return cors.New(cors.Config{
		AllowOriginFunc: func(origin string) bool {
            // 此处可以自定义
			return true
		}, // AllowOriginFunc是一个用于验证起源的自定义函数。它将origin原点作为参数,如果允许则返回true,否则返回false。如果设置了这个选项,AllowOrigins的内容将被忽略。
		AllowMethods:     []string{"PUT", "PATCH", "GET", "DELETE", "POST", "OPTIONS"},          // 允许的请求方法
		AllowHeaders:     []string{"Origin", "Authorization", "Content-Length", "Content-Type"}, // 允许的请求头
		ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-Origin"},             // 允许暴露的
		AllowCredentials: true,                                                                  // AllowCredentials指示请求是否可以包含用户凭据,如cookie、HTTP身份验证或客户端SSL证书。
		MaxAge:           12 * time.Hour,                                                        // 表示预检请求的结果可以缓存多长时间(以秒精度计算)
		AllowWebSockets:  true,                                                                  // 允许使用WebSocket协议
	})
}

3.使用中间件

e.Use(CORSMiddleware())

猜你喜欢

转载自blog.csdn.net/weixin_41989013/article/details/133977576