有没有办法让 CORS 为 Gin Go 中的一条路线工作

我正在尝试使某个来源可以访问单个 gin 服务器端点。我已经尝试了一些包,例如https://github.com/gin-contrib/cors但据我所知,它将 CORS 设置为您的整个服务器。

例如,我有多个路由,但我只希望“/scrape”被允许被“google.com”访问

  • /数据“所有来源”

  • /ping "所有来源"

  • /抓取“google.com”


达令说
浏览 82回答 1
1回答

慕侠2389804

当然可以。它(https://github.com/gin-contrib/cors)只是一个中间件。package mainimport (  "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-middleware
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go