我們經常需要獲取使用者傳遞的資料,包括 get、post 等方式的請求,beego 裡面會自動解析這些資料,你可以通過如下方式獲取資料:
使用例子如下:
func
(this
*maincontroller
)post
()}
如果你需要的資料可能是其他型別的,例如是 int 型別而不是 int64,那麼你需要這樣處理:
func
(this
*maincontroller
)post
()
更多其他的 request 的資訊,使用者可以通過this.ctx.request
獲取資訊,關於該物件的屬性和方法參考手冊request。
如果要把表單裡的內容賦值到乙個 struct 裡,除了用上面的方法乙個乙個獲取再賦值外,beego 提供了通過另外乙個更便捷的方式,就是通過 struct 的欄位名或 tag 與表單字段對應直接解析到 struct。
定義struct:
type user
struct
`form:"username"` //對應表單中的name值,欄位名首字母也必須大寫,否則無法解析該引數的值
ageint
`form:"age"`//對應表單中的name值,如果不寫將無法解析該引數的值
email
string
}
表單:
controller 裡解析:
func
(this
*maincontroller
)post
()if
err
:=this
.parseform(&u
);err
!=nil
}
注意: 獲取使用者請求的IP
在為服務平台設計ip白名單或者黑名單的時候,不能通過request.getremoteaddr 獲取ip位址,因為使用者可能通過 伺服器來訪問,因此需求對於需要獲取使用者的ip,需要對其進行特殊處理 public class iputils if stringutils.isempty ip ip....
asp,jsp,php獲取使用者引數
在asp中,服務端獲取get請求引數用request.querystring,獲取post請求引數用request.form。在jsp中,用request.getparameter x 來獲取,雖然jsp中也有request.getquerystring 方法,但使用起來比較麻煩,比如 傳乙個tes...
Beego獲取Get請求的URL引數
beego獲取get請求的url引數 這段時間接觸到golang的beego,於是就研究了一波,順帶寫一些後端。golang的beego框架,可以說是參照了一下python的tornado後端框架。這一點對於博主來說,真是爽到爆了。因為博主第乙個接觸到的框架就是龍捲風 這裡,我們先來說一下,在測試乙...