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()

  

时间: 2024-09-26 16:41:32

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

PHP框架Laravel的小技巧两则

这篇文章主要介绍了PHP框架Laravel的小技巧两则,本文讲解了Route::controller中路由批量命名.根据系统变量判断当前运行环境两个小技巧,需要的朋友可以参考下 用 Laravel 作为 PHP 开发框架很久了,但是有些官方文档中没有覆盖到的地方,每隔一段时间又会忘记.最近做了一点简单的整理,顺便记录下来备忘. 1. Route::controller 路由命名: 用 Route::controller 可以减少路由定制中的大量工作,但是有时候需要对某个特定的路由命名以便使用,但

ide-c程序用cmd命令行编译链接的exe跟在IDE中生成的一样么?

问题描述 c程序用cmd命令行编译链接的exe跟在IDE中生成的一样么? 就是用cl命令生成的exe,和visual c++6.0的对比,是否一样,如果不一样怎么让他们一样? 解决方案 主要是一些编译选项,你cl命令行需要自己跟VC所配置的编译选项一致. 解决方案二: 你可以写一个小程序: void main(int argc, char ** args) { for (int i = 0; i < argc; i++) cout << args[i] << endl; sy

Powershell小技巧之获取字符串的行数_PowerShell

这里有一个简单的方法教你获得一个字符串(不是数组哦)包涵多少行: $text = @' This is some sample text Let's find out the number of lines. '@ $text.Length - $text.Replace("`n",'').Length + 1 从技术上讲,该示例使用了上面的字符串来创建多行字符串,但是这仅仅是一个例子.只要懂得了它的工作原理就能在多种场合使用. 支持所有的PS版本 以上是小编为您精心准备的的内容,在的

PowerShell小技巧之使用New-Module命令动态创建对象_PowerShell

还记得当年怎样在PowerShell中动态创建对象吧?今天要分享的方法不敢自诩高大上,但也足以让New-Object感到汗颜. 背景 在System Center Operation Manager中有个Management Pack,叫做:"Microsoft.SystemCenter.OperationsManager.SummaryDashboard".在该MP中有个Discovery叫做:"Collect agent configurations".该工作流

ASP.NET 2.0编程小技巧两则

asp.net|编程|技巧 1.利用app_offline.htm 在asp.net 2.0中,如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么"本网站正在更新"等等的信息,在ASP.NET 2.0中,你可以建立一个叫app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下.这样,任何外部的请求的话,都会马上被转移到该页面了.这个时候,你

Win 7系统中键的一些小技巧两则

  快速新开窗口 也许有时候你需要打开一个新的程序窗口,比方说资源管理器或者是浏览器等等,那么你该如何操作呢?一般我们都会找到程序快捷方式,然后双击新开窗口;对Windows 7比较熟悉的朋友也许更倾向于采用shift + 点击任务栏程序图标的方式来新开. 其实,还有一招更直接的方法--直接用鼠标中键去点击Windows 7任务栏上的图标即可(只要这个程序支持多进程同时运行). 快速关闭窗口 中键点击不仅能快速新开窗口,还可以快速关闭窗口.Windows 7任务栏开启Aero特效后,诸如IE等程

运维小技巧:使用ss命令代替 netstat,和netstat说再见

ss是Socket Statistics的缩写. 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效. [和netstat说再见的原因] 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢.可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat

PHP框架Laravel的小技巧两则_php技巧

用 Laravel 作为 PHP 开发框架很久了,但是有些官方文档中没有覆盖到的地方,每隔一段时间又会忘记.最近做了一点简单的整理,顺便记录下来备忘. 1. Route::controller 路由命名: 用 Route::controller 可以减少路由定制中的大量工作,但是有时候需要对某个特定的路由命名以便使用,但是 Route::controller 方法是批量指定了一个 Controller 中所有方法的路由,这要怎么命名呢?可以用controller($uri, $controlle

Linux以及Android开发中的小技巧和长繁命令记录收集

不断更新收集中.... 201407161654 ssh以nx_guest的身份登录到172.24.221.137,然后在172.24.221.137与172.24.61.252的8080端口建立网络连接,同时创建端口为5678的本地代理服务 ssh -C -f -N -o 'TCPKeepAlive=yes' -L 5678:172.24.61.252:8080 nx_guest@172.24.221.137 反编译android下的二进制程序 ./prebuilts/gcc/linux-x8