beego实现多端口监听

package services

func init() {
    //设置路由
    go func() {
        http.HandleFunc("/uptoken",UpTokenHandler)
        err:=http.ListenAndServe(":8080",nil)
        if err!=nil{
            log.Fatal(err)
        }
    }()
}

func UpTokenHandler(w http.ResponseWriter,r *http.Request) {
    uptoken := new(models.Token)
    uptoken.Token= models.GetUptoken()
    data,err := json.Marshal(uptoken)
    if err != nil {
        vaslog.W(core.Logger,"service","token").
            WithFields(logrus.Fields{
                "error" : err,
                "msg" : "json marshal failed",
            })
    }
    w.Header().Set("Content-Type", "application/json")
    w.Write(data)
}

在services层中新建一个http服务,运行在go 新开的协程中。beego.run之后会加载service中所有的方法,这时会加载新的http服务,监听新的端口

原文地址:https://www.cnblogs.com/peteremperor/p/14621804.html