最近在做一个项目,需要在数据库记录操作请求的所有请求参数,param和form里面的是需要分开来获取的,如果一次性获取所有的,这里从go-zero框架里面爬取了一个出来: `
func Parse(r *http.Request) (error, map[string]interface{}) {
m := map[string]interface{}{}
if err := r.ParseForm(); err != nil {
return err, nil
}
if err := r.ParseMultipartForm(maxMemory); err != nil {
if err != http.ErrNotMultipart {
return err, nil
}
}
for name := range r.Form {
formValue := r.Form.Get(name)
if len(formValue) > 0 {
m[name] = formValue
}
}
vars := pathvar.Vars(r)
for k, v := range vars {
m[k] = v
logx.Infof(":", v)
}
return nil, m
}
`