gin框架使用路由组时不能跨域
1. 运行环境
go 环境
go1.20.4 windows/amd64
github.com/gin-gonic/gin v1.9.0
github.com/gin-contrib/cors
windows 环境
版本 Windows 11 专业版
版本 22H2
操作系统版本 22621.1635
2. 问题描述?
当使用路由组时,跨域中间件无效
前端使用fetch api 请求后端数据
app:= gin.Default()
app.Use(cors.Default())
v1:=app.Group("/staff")
{
v1.GET("/", func(c *gin.Context) {
c.JSON(200,gin.H{"name":"zzh"})
})
}
app:= gin.Default()
v1:=app.Group("/staff").Use(cors.Default())
{
v1.GET("/", func(c *gin.Context) {
c.JSON(200,gin.H{"name":"zzh"})
})
}
app:= gin.Default()
v1:=app.Group("/staff",cors.Default())
{
v1.GET("/", func(c *gin.Context) {
c.JSON(200,gin.H{"name":"zzh"})
})
}
以上三种写法都不能跨域has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled
app:= gin.Default()
app.Use(cors.Default())
app.GET("/staff", func(c *gin.Context) {
c.JSON(200,gin.H{"name":"zzh"})
})
不使用路由组时可以跨域
3. 您期望得到的结果?
使用路由组可以正常跨域
//: <> (能截图就截图。)
推荐文章: