1 Star 0 Fork 0

sugar/base_code

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
api.go 1.83 KB
一键复制 编辑 原始数据 按行查看 历史
EatSugar 提交于 2022-10-30 22:29 +08:00 . 常用代码
package api
import (
"encoding/json"
beego "github.com/beego/beego/v2/server/web"
"io/ioutil"
)
type Api struct {
beego.Controller
//请求的Header参数
HttpRequestHeaderData map[string]interface{}
//请求的Get参数
HttpRequestGetData map[string]interface{}
//请求的form表单参数
HttpRequestPostFormData map[string]interface{}
//请求的JSON参数
HttpRequestPostJsonData map[string]interface{}
}
// initRequestData 初始化请求信息
func (a *Api) InitRequestData() {
a.initHttpRequestHeaderData()
a.initHttpRequestGetData()
a.initHttpRequestPostFormData()
a.initHttpRequestPostJsonData()
}
// initHttpRequestPostJsonData 初始化POST Json参数
func (a *Api) initHttpRequestPostJsonData() error {
//可以不用这样写 在配置copyrequestbody = true; a.Ctx.Input.RequestBody
tmp, _ := ioutil.ReadAll(a.Ctx.Request.Body)
if len(tmp) > 0 {
a.HttpRequestPostJsonData = make(map[string]interface{})
//解析JSON
e := json.Unmarshal(tmp, &a.HttpRequestPostJsonData)
if e != nil {
return e
}
}
return nil
}
// initHttpRequestPostFormData 初始化POST form参数
func (a *Api) initHttpRequestPostFormData() {
tmp := a.Ctx.Request.PostForm
if len(tmp) > 0 {
a.HttpRequestPostFormData = make(map[string]interface{})
for k, v := range tmp {
a.HttpRequestPostFormData[k] = v[0]
}
}
}
// initHttpRequestGetData 初始化Get参数
func (a *Api) initHttpRequestGetData() {
tmp := a.Ctx.Request.URL.Query()
if len(tmp) > 0 {
a.HttpRequestGetData = make(map[string]interface{})
for k, v := range tmp {
a.HttpRequestGetData[k] = v[0]
}
}
}
// initHttpRequestGetData 初始化Get参数
func (a *Api) initHttpRequestHeaderData() {
tmp := a.Ctx.Request.Header
if len(tmp) > 0 {
a.HttpRequestHeaderData = make(map[string]interface{})
for k, v := range tmp {
a.HttpRequestHeaderData[k] = v[0]
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/sugar09/base_code.git
git@gitee.com:sugar09/base_code.git
sugar09
base_code
base_code
1ba92f8103dd

搜索帮助