beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理相关的知识,希望对你有一定的参考价值。

1,通过命令行自定义端口和环境

先用flag提取参数,如果要环境,就反向注进去,

如果是端口,就打到beego.Run函数里去。

2,在作router里的url解析时,如果URL中含有-中划线,用严格的string是不能匹配的。

需要去掉这个string限定。

package main

import (
	"flag"
	"fmt"
	_ "prismlogapi/routers"

	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"

	_ "github.com/go-sql-driver/mysql"
)

func main() {
	//orm.Debug = true
	runmode := flag.String("runmode", "dev", "runmode:default is dev")
	port := flag.String("port", "9527", "port:default is 9527")
	flag.Parse()
	beego.BConfig.RunMode = *runmode
	fmt.Println(beego.BConfig.RunMode)
	fmt.Println(port)
	if beego.BConfig.RunMode == "dev" {
		beego.BConfig.WebConfig.DirectoryIndex = true
		beego.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"] = s
	u.ServeJSON()

  

以上是关于beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 行自定义高度(百分比)

AWS EC2 自动缩放 - 通过 ssh 在 EC2 上进行自定义设置

Win10小技巧|自定义path环境变量

DJANGO技巧两则:模拟MKDIR -P及配合NGINX上传大文件不使超时

多路由器环境配置的一些小技巧(达内)

Linux下通过find命令进行rm文件删除的小技巧