Golang gin跨域问题怎么解决
Golang gin跨域问题怎么解决
本文小编为大家详细介绍“Golanggin跨域问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golanggin跨域问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
gin跨域解决方案
cors1.go
packagemiddlewaresimport("github.com/gin-gonic/gin""net/http")funcCors()gin.HandlerFunc{returnfunc(c*gin.Context){method:=c.Request.Methodorigin:=c.Request.Header.Get("Origin")iforigin!=""{c.Header("Access-Control-Allow-Origin",origin)//主要设置Access-Control-Allow-Originc.Header("Access-Control-Allow-Methods","POST,GET,OPTIONS,PUT,DELETE,UPDATE")c.Header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept,Authorization")c.Header("Access-Control-Expose-Headers","Content-Length,Access-Control-Allow-Origin,Access-Control-Allow-Headers,Cache-Control,Content-Language,Content-Type")c.Header("Access-Control-Allow-Credentials","false")c.Set("content-type","application/json")}ifmethod=="OPTIONS"{c.AbortWithStatus(http.StatusNoContent)}c.Next()}}
cors2.go
funcCors()gin.HandlerFunc{returncors.New(cors.Config{AllowAllOrigins:false,AllowOrigins:nil,AllowOriginFunc:func(originstring)bool{returntrue},AllowMethods:[]string{"GET","POST","PUT","PATCH","DELETE","HEAD"},AllowHeaders:[]string{"Authorization","ts","Accept","Origin","DNT","X-CustomHeader","Keep-Alive","User-Agent","X-Requested-With","If-Modified-Since","Cache-Control","Content-Type","Content-Range","Range"},AllowCredentials:true,MaxAge:10*time.Minute,})}
使用中间件
packagerouterimport("github.com/gin-gonic/gin""goproejct/controllers""goproejct/middlewares"//引入中间件goproject是项目名根据自己情况)funcInitRouter(){router:=gin.Default()router.Use(Cors())//使用中间件v1:=router.Group("v1"){v1.POST("/login",controllers.Login)v1.POST("/regist",controllers.Regist)}router.Run(":8000")}
读到这里,这篇“Golanggin跨域问题怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Golang中的nil和零值怎么声明
Golang中的nil和零值怎么声明这篇文章主要讲解了“Golan...
-
golang Gob怎么使用
golangGob怎么使用本篇内容介绍了“golangGob怎...
-
golang切片长度与容量指的是什么
golang切片长度与容量指的是什么今天小编给大家分享一下gola...
-
golang循环遍历map的方式有哪些
golang循环遍历map的方式有哪些本篇内容介绍了“golang...
-
golang如何添加list元素
golang如何添加list元素这篇“golang如何添加list...
-
golang包的特性有哪些
golang包的特性有哪些这篇文章主要介绍了golang包的特性有...
-
如何从 PHP 过渡到 Golang?
我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗...
-
golang web从入门到精通 获取请求头信息、GET(POST)请求参数
-
适合PHP转Golang的函数类库
近几年Golang越来越火了,很多之前写PHP的也开始投入到Golang的怀抱中,今天小编给大家推荐一个挺好用的适合php转go的...
-
Golang编程 golang实现php函数json_decode()