使用revel框架(golang),如何在app.conf中设置端口?
// in app.conf
http.port=9090
我必须在控制器中使用我的服务器端口号(例如OAuth编码),例如
requestToken, url, err := TWITTER.GetRequestTokenAndUrl(
"http://127.0.0.1:9090/Application/Authenticate",
)
我不想通过硬编码来写端口号。 使用revel,有没有什么好方法可以在app.conf中设置端口号(或任何其他conf值)?
提前谢谢
答案 0 :(得分:2)
这个文档可能会有用 - http://robfig.github.io/revel/docs/godoc/config.html
例如
// Load app.conf
var err error
Config, err = LoadConfig("app.conf")
if err != nil || Config == nil {
log.Fatalln("Failed to load app.conf:", err)
}
HttpPort = Config.IntDefault("http.port", 9000)
可以使用另一种方法代替直接加载(参见 modules / db / app / db.go )
import (
"github.com/robfig/revel"
)
if option, found = revel.Config.String("option"); !found {
revel.ERROR.Fatal("No option found.")
}
答案 1 :(得分:0)
更新了答案
在您的文件app/init.go
中,您必须在自定义函数中检索配置值。
此自定义功能必须在func init()
revel.OnAppStart(MyFunc)
注册。
如果您尝试直接从init()
func检索配置值,您将收到类似这样的错误:
panic: runtime error: invalid memory address or nil pointer dereference