beego是乙個使用 golang 來設計的快速構建並開發 go 應用程式的開源http框架,可以快速開發api、web、後端服務等各種應用,功能支援restful,mvc模型;含有智慧型路由,內建強大模組,採用了 go 原生的 http 包來處理請求;goroutine 的併發效率足以應付大流量的 web 應用和 api 應用等等,簡單易用,功能強大。
beego已經為使用者建立了諸如routers(路由),views(檢視),controller(控制器),models(資料模型),static(靜態檔案),tests(測試用例)等資料夾和相應的.go檔案了。modoel,views和controller,依然是構建mvc模式的核心。
程式入口:main.go
控制器controllers:根據路由分發的使用者請求, controller會進行業務邏輯處理並返回響應資訊。
本文主要介紹beego框架獲取http請求的一些介紹及注意事項。
經常需要獲取使用者傳遞的資料,包括 get、post 等方式的請求,beego 裡面會自動解析這些資料,你可以通過如下方式獲取資料:
getstring(key string) string
getstrings(key string) string
getint(key string) (int64, error)
getbool(key string) (bool, error)
getfloat(key string) (float64, error)
使用使用者資訊驗證例子分別採用get、post方法舉例如下:
在models中定義返回結構,其中code 含義 1 成功 0 失敗
type generalresp struct `json:"data"`
error string `json:"error"`
}
使用get方法實現使用者資訊驗證介面
func (this *maincontroller) login()
}else
}this.servejson()
}
如果你需要的資料可能是其他型別的,例如是 int 型別而不是 int64,那麼你需要這樣處理:
func (this *maincontroller) get()
再使用post方法完成使用者資訊驗證介面
在models中定義userinfo結構
type userinfo struct
post方法實現使用者資訊驗證介面
func (this *maincontroller) login()
this.servejson()
return
}ret := tools.loginmsgcheck(userinfo.username,userinfo.password)//登入資訊驗證
if ret
}else
}this.servejson()
}
在 api 的開發中,經常會用到 json 或 xml 來作為資料互動的格式,如何在 beego 中獲取 request body 裡的 json 或 xml 的資料呢?
1、在配置檔案裡設定 copyrequestbody = true
2、在 controller 中
func (this *obejctcontroller) post() "
this.servejson()
}
配置檔案中一定要加copyrequestbody = true
否則會列印錯誤資訊:syntaxerror: unexpected end of json input
如有不對歡迎指正,相互學習,共同進步。
php傳送http請求,獲取網頁內容方法
php傳送http請求,獲取網頁內容方法 curl file get contents fopen 區別 1.相較於file get contents fopen curl支援更多功能 curl支援更多協議,目前支援http https ftp gopher telnet dict file ida...
Beego獲取Get請求的URL引數
beego獲取get請求的url引數 這段時間接觸到golang的beego,於是就研究了一波,順帶寫一些後端。golang的beego框架,可以說是參照了一下python的tornado後端框架。這一點對於博主來說,真是爽到爆了。因為博主第乙個接觸到的框架就是龍捲風 這裡,我們先來說一下,在測試乙...
beego請求例子
main.go匯入 routers目錄 routers router.go初始化controller 新建 routers資料夾,裡面新建router.go 包含logincontroller typelogincontrollerstruct router login get func c log...