Go gin框架CORS

我正在使用Go gin框架Go gin

func CORSMiddleware() gin.HandlerFunc {

return func(c *gin.Context) {

c.Writer.Header().Set("Content-Type", "application/json")

c.Writer.Header().Set("Access-Control-Allow-Origin", "*")

c.Writer.Header().Set("Access-Control-Max-Age", "86400")

c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE")

c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, X-Max")

c.Writer.Header().Set("Access-Control-Allow-Credentials", "true")

if c.Request.Method == "OPTIONS" {

c.AbortWithStatus(200)

} else {

c.Next()

}

}

}

我有状态码:200,但是在OPTIONS请求之后什么也没有发生。好像我错过了什么,但我不明白我在哪里错了。

有谁能够帮我?

回答:

FWIW,这是我的CORS中间件,可满足我的需求。

func CORSMiddleware() gin.HandlerFunc {

return func(c *gin.Context) {

c.Writer.Header().Set("Access-Control-Allow-Origin", "*")

c.Writer.Header().Set("Access-Control-Allow-Credentials", "true")

c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With")

c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT")

if c.Request.Method == "OPTIONS" {

c.AbortWithStatus(204)

return

}

c.Next()

}

}

以上是 Go gin框架CORS 的全部内容, 来源链接: utcz.com/qa/423091.html

回到顶部