beego/golang 添加跨域访问

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a1368783069/article/details/84647043

背景:
使用beego开发接口,前端开发调用时,现实因为跨域访问导致失败。 一般api开发使用nginx作为代理转发,配置跨域访问直接修改nginx配置就行,由于自己不想使用nginx,所以直接修改beego配置。

下载安装 cors;

go get   github.com/astaxie/beego/plugins/cors

说明文档。
https://godoc.org/github.com/astaxie/beego/plugins/cors

配置代码

放在 main.go

func main() {
        if beego.BConfig.RunMode == "dev" {
                beego.BConfig.WebConfig.DirectoryIndex = true
                beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
        }
        beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{   
            AllowOrigins: []string{"http://ip:port"},
            AllowMethods: []string{"PUT", "PATCH", "POST", "GET"},
            AllowHeaders: []string{"Origin"},
            ExposeHeaders: []string{"Content-Length"},
            AllowCredentials: true,    }))
        beego.Run()
        defer fmt.Println("end main.....")
}

AllowOrigins 中添加 web 前端开发机器的 ip与port 即可。

猜你喜欢

转载自blog.csdn.net/a1368783069/article/details/84647043