Gin路由与跨域启动顺序踩坑记录

164 阅读1分钟

问题描述

axios能给gin发请求,gin没办法返回数据给axios

解决方法

将启动跨域的代码放在启动路由的代码前面即可

engine := gin.Default()

// 设置跨域
engine.Use(Cors())

// 初始化路由
router.InitRouter(engine)

// 运行web服务
pprof.Register(engine)

// EngineHost是项目的运行地址, EnginePort是项目运行的端口
engine.Run(cfg.EngineHost + ":" + cfg.EnginePort)

反例

engine := gin.Default()

// 初始化路由
router.InitRouter(engine)

// 设置跨域
engine.Use(Cors())

// 运行web服务
pprof.Register(engine)

// EngineHost是项目的运行地址, EnginePort是项目运行的端口
engine.Run(cfg.EngineHost + ":" + cfg.EnginePort)

如果先启动了路由,再启动跨域,则跨域设置无效。