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())