1 Star 1 Fork 0

xjieinfo / xjgo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
context.go 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
老马 提交于 2021-06-25 18:04 . context, xjconv增加了一些函数
package xjhttp
import (
"encoding/json"
"fmt"
"gitee.com/xjieinfo/xjgo/xjcore/xjtypes"
"net/http"
"net/url"
"strconv"
"strings"
)
type Context struct {
Request *http.Request
Writer http.ResponseWriter
}
func (c *Context) QueryAll() url.Values {
return c.Request.URL.Query()
}
func (c *Context) QueryStr(key string) string {
querys := c.Request.URL.Query()
return querys.Get(key)
}
func (c *Context) QueryInt(key string) (int, error) {
querys := c.Request.URL.Query()
str := querys.Get(key)
val, err := strconv.Atoi(str)
return val, err
}
func (c *Context) QueryInt64(key string) (int64, error) {
querys := c.Request.URL.Query()
str := querys.Get(key)
val, err := strconv.ParseInt(str, 10, 64)
return val, err
}
func (c *Context) PathParam(index int) string {
uri := c.Request.RequestURI
strs := strings.Split(uri, "/")
if len(strs) > index {
return strs[index]
} else {
return ""
}
}
func (c *Context) String(code int, format string, values ...interface{}) {
c.Writer.WriteHeader(code)
fmt.Fprintf(c.Writer, format, values...)
}
func (c *Context) JSON(code int, obj interface{}) {
c.Writer.WriteHeader(code)
j, _ := json.Marshal(obj)
fmt.Fprintf(c.Writer, string(j))
}
func (c *Context) Make(code int, rcode int, data interface{}, msg string) {
c.Writer.WriteHeader(code)
r := new(xjtypes.R).Make(rcode, data, msg)
j, _ := json.Marshal(r)
fmt.Fprintf(c.Writer, string(j))
}
func (c *Context) Success(code int, data interface{}) {
c.Writer.WriteHeader(code)
r := new(xjtypes.R).Success(data)
j, _ := json.Marshal(r)
fmt.Fprintf(c.Writer, string(j))
}
func (c *Context) Fail(code int, msg string) {
c.Writer.WriteHeader(code)
r := new(xjtypes.R).Fail(msg)
j, _ := json.Marshal(r)
fmt.Fprintf(c.Writer, string(j))
}
func (c *Context) Error(code int, err error) {
c.Writer.WriteHeader(code)
r := new(xjtypes.R).Fail(err.Error())
j, _ := json.Marshal(r)
fmt.Fprintf(c.Writer, string(j))
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xjieinfo/xjgo.git
git@gitee.com:xjieinfo/xjgo.git
xjieinfo
xjgo
xjgo
v0.1.1

搜索帮助

344bd9b3 5694891 D2dac590 5694891