提交 a99802b7 编写于 作者: A astaxie

beego:query data from Form & params

上级 3e16feb1
...@@ -211,6 +211,9 @@ func (input *BeegoInput) Param(key string) string { ...@@ -211,6 +211,9 @@ func (input *BeegoInput) Param(key string) string {
// Query returns input data item string by a given string. // Query returns input data item string by a given string.
func (input *BeegoInput) Query(key string) string { func (input *BeegoInput) Query(key string) string {
if val := input.Param(key); val != "" {
return val
}
if input.Request.Form == nil { if input.Request.Form == nil {
input.Request.ParseForm() input.Request.ParseForm()
} }
......
...@@ -285,10 +285,7 @@ func (c *Controller) ServeXml() { ...@@ -285,10 +285,7 @@ func (c *Controller) ServeXml() {
// Input returns the input data map from POST or PUT request body and query string. // Input returns the input data map from POST or PUT request body and query string.
func (c *Controller) Input() url.Values { func (c *Controller) Input() url.Values {
ct := c.Ctx.Request.Header.Get("Content-Type") if c.Ctx.Request.Form == nil {
if strings.Contains(ct, "multipart/form-data") {
c.Ctx.Request.ParseMultipartForm(MaxMemory) //64MB
} else {
c.Ctx.Request.ParseForm() c.Ctx.Request.ParseForm()
} }
return c.Ctx.Request.Form return c.Ctx.Request.Form
...@@ -301,7 +298,7 @@ func (c *Controller) ParseForm(obj interface{}) error { ...@@ -301,7 +298,7 @@ func (c *Controller) ParseForm(obj interface{}) error {
// GetString returns the input value by key string. // GetString returns the input value by key string.
func (c *Controller) GetString(key string) string { func (c *Controller) GetString(key string) string {
return c.Input().Get(key) return c.Ctx.Input.Query(key)
} }
// GetStrings returns the input string slice by key string. // GetStrings returns the input string slice by key string.
...@@ -320,17 +317,17 @@ func (c *Controller) GetStrings(key string) []string { ...@@ -320,17 +317,17 @@ func (c *Controller) GetStrings(key string) []string {
// GetInt returns input value as int64. // GetInt returns input value as int64.
func (c *Controller) GetInt(key string) (int64, error) { func (c *Controller) GetInt(key string) (int64, error) {
return strconv.ParseInt(c.Input().Get(key), 10, 64) return strconv.ParseInt(c.Ctx.Input.Query(key), 10, 64)
} }
// GetBool returns input value as bool. // GetBool returns input value as bool.
func (c *Controller) GetBool(key string) (bool, error) { func (c *Controller) GetBool(key string) (bool, error) {
return strconv.ParseBool(c.Input().Get(key)) return strconv.ParseBool(c.Ctx.Input.Query(key))
} }
// GetFloat returns input value as float64. // GetFloat returns input value as float64.
func (c *Controller) GetFloat(key string) (float64, error) { func (c *Controller) GetFloat(key string) (float64, error) {
return strconv.ParseFloat(c.Input().Get(key), 64) return strconv.ParseFloat(c.Ctx.Input.Query(key), 64)
} }
// GetFile returns the file data in file upload field named as key. // GetFile returns the file data in file upload field named as key.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册