這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
使用dotweb架構搭建簡易服務
go語言web架構挺多的,所謂琳琅滿目,裡面也有很多優秀的,比如echo、beego等,但體驗下來,總是覺得哪裡有點小疙瘩,後來才明白過來,echo太簡單,很多日常使用的基礎模組不具備,需要額外實現,而beego又是太完善,雖然可定製化,但需要熟悉的過程,於是,二話不說,準備了一款"中間態"go-web架構 - dotweb,據說,在幾個go比較活躍的群裡還是很"非著名"的:)
也希望更多的人能瞭解到dotweb,能夠提出一些建議和思路,感激不盡!
二話不說,github地址:https://github.com/devfeel/dotweb
下面貼一下用dotweb搭建一個簡易的應用服務的程式碼片段,非常的簡單,看一下代碼注釋也很容易理解。
1 import "github.com/devfeel/dotweb" 2 3 func main() { 4 //init DotApp 5 app := dotweb.New() 6 //set route 7 app.HttpServer.Router().GET("/index", func(ctx dotweb.Context) error{ 8 _, err := ctx.WriteString("welcome to my dot web!") 9 return err10 })11 //begin server12 fmt.Println(app.StartServer(80))13 }
以上是一個非常簡單的Web服務,下面來看一個稍微複雜點的:
func main() { //初始化DotServer app := dotweb.New() //設定dotserver日誌目錄 //如果不設定,預設不啟用,且預設為目前的目錄 app.SetEnabledLog(true) //開啟development模式 app.SetDevelopmentMode() //設定gzip開關 app.HttpServer.SetEnabledGzip(true) //設定Session開關 app.HttpServer.SetEnabledSession(true) //設定Session配置 app.HttpServer.SetSessionConfig(session.NewDefaultRuntimeConfig()) //設定路由 InitRoute(app.HttpServer) //自訂404輸出 app.SetNotFoundHandle(func(w http.ResponseWriter, req *http.Request) { w.WriteHeader(http.StatusNotFound) w.Write([]byte("is't app's not found!")) }) // 開始服務 port := 8080 fmt.Println("dotweb.StartServer => " + strconv.Itoa(port)) err := app.StartServer(port) fmt.Println("dotweb.StartServer error => ", err)}
這樣讓大家有一個基本的印象。
這裡只是快速上手的一些方法,作為一個web服務架構,功能還是會比較多的,後續陸續整理,提供給大家。
另外,歡迎各位加入我們的go語言QQ群:193409346