在gin
中,可以直接使用中间件的方式进行跨域的访问。
所使用到的API是:use
,也就是当做一个中间件来看待。
所以,跨域的代码是:
package middleware
import (
"github.com/gin-gonic/gin"
"net/http"
)
func Cors() gin.HandlerFunc {
return func(context *gin.Context) {
method := context.Request.Method
context.Header("Access-Control-Allow-Origin", "*")
context.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token")
context.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
context.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
context.Header("Access-Control-Allow-Credentials", "true")
if method == "OPTIONS" {
context.AbortWithStatus(http.StatusNoContent)
}
context.Next()
}
}
接着在主文件引入这个middleware
文件:
import (
"github.com/gin-gonic/gin"
)
func main (){
r = gin.Defalut()
r.use(Cors())
r.Run()
}