gin-解决跨域问题
1.在middlewares中创建cors.go文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package middlewares import ( "github.com/gin-gonic/gin" "net/http" ) func Cors() gin.HandlerFunc { return func (c *gin.Context) { method := c.Request.Method c.Header( "Access-Control-Allow-Origin" , "*" ) c.Header( "Access-Control-Allow-Headers" , "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token, x-token" ) c.Header( "Access-Control-Allow-Methods" , "POST, GET, OPTIONS, DELETE, PATCH, PUT" ) 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" ) if method == "OPTIONS" { c.AbortWithStatus(http.StatusNoContent) } } } |
2.使用
在route中添加Use(middlewares.Cors())
1 | package initializeimport ( "github.com/gin-gonic/gin" "mxshop-api/user-web/middlewares" "mxshop-api/user-web/router" ) func Routers() *gin.Engine { Router := gin.Default() Router.Use(middlewares.Cors()) ApiGroup := Router.Group( "v1" ) router.InitUserRoute(ApiGroup) return Router} |