有没有一种方法可以让CORS在Gin Go中为单一路线工作



我正试图让某个源可以访问单个gin服务器端点。我试过一些套餐,比如https://github.com/gin-contrib/cors但据我所知,它将CORS设置为整个服务器。

例如,我有多条路线,但我只想要"/刮";被允许由"用户"访问;google.com";

  • /data";所有起源">
  • /ping";所有起源">
  • /刮";google.com">

当然可以。它(https://github.com/gin-contrib/cors)只是一个中间件

package main
import (
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
// CORS for example.com and example.net origins
router.Use(cors.New(cors.Config{
AllowOrigins:     []string{"example.com"},
AllowOriginFunc: func(origin string) bool {
return origin == "example.net"
}})).GET("/scrape", func(c *gin.Context) {
// serve something
})
allOrigins := router.Group("/")
allOrigins.Use(cors.Default())
allOrigins.GET("/data", func(c *gin.Context) {
// serve something
})
allOrigins.GET("/ping", func(c *gin.Context) {
// serve something
})
router.Run()
}

查看更多中间件示例:https://github.com/gin-gonic/gin#using-中间件

最新更新