1,通过命令行自定义端口和环境
先用flag提取参数,如果要环境,就反向注进去,
如果是端口,就打到beego.Run函数里去。
2,在作router里的url解析时,如果URL中含有-中划线,用严格的string是不能匹配的。
需要去掉这个string限定。
package mainimport ("flag""fmt"_ "prismlogapi/routers""github.com/astaxie/beego""github.com/astaxie/beego/orm"_ "github.com/go-sql-driver/mysql")func main() {//orm.Debug = truerunmode := flag.String("runmode", "dev", "runmode:default is dev")port := flag.String("port", "9527", "port:default is 9527")flag.Parse()beego.BConfig.RunMode = *runmodefmt.Println(beego.BConfig.RunMode)fmt.Println(port)if beego.BConfig.RunMode == "dev" {beego.BConfig.WebConfig.DirectoryIndex = truebeego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"}dbhost := beego.AppConfig.String("dbhost")dbport := beego.AppConfig.String("dbport")dbuser := beego.AppConfig.String("dbuser")dbpassword := beego.AppConfig.String("dbpassword")db := beego.AppConfig.String("db")orm.RegisterDriver("mysql", orm.DRMySQL)conn := dbuser + ":" + dbpassword + "@tcp(" + dbhost + ":" + dbport + ")/" + db + "?charset=utf8"fmt.Println(conn)orm.RegisterDataBase("default", "mysql", conn)orm.SetMaxIdleConns("default", 1000)orm.SetMaxOpenConns("default", 2000)beego.Run(":" + *port)}
// @Title 获取特定部署的日志// @Description 返回多条日志// @Param id path int true "The key for staticblock"// @Success 200 {object} models.PrismLog// @router /:app/:depverion:string/:order:int/ [get]func (u *PrismLogController) GetByAppDepOrd() {app := u.GetString(":app")depverion := u.GetString(":depverion")order, _ := u.GetInt(":order")fmt.Println(app, depverion, order, "@@@@@@@@@@@@@@@")s := models.GetPrismLogByAppDepOrd(app, depverion, order)u.Data["json"] = su.ServeJSON()
beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理
原文地址:http://www.cnblogs.com/aguncn/p/7526637.html