本文整理汇总了Golang中github.com/justintan/wine.Context.JSON方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.JSON方法的具体用法?Golang Context.JSON怎么用?Golang Context.JSON使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/justintan/wine.Context
的用法示例。
在下文中一共展示了Context.JSON方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ResponseError
func ResponseError(c wine.Context, err ErrType) {
msg := ""
switch err {
case ErrParm:
msg = "parameter error"
case ErrServer:
msg = "server error"
default:
break
}
c.JSON(gox.M{"error": err, "msg": msg})
}
示例2: HandlePostDailyReport
func HandlePostDailyReport(c wine.Context) {
var req PostDailyReportRequest
req.UserId = c.Params().GetInt64("user_id")
req.Date = c.Params().GetStr("date")
req.Work = c.Params().GetStr("work")
req.Plan = c.Params().GetStr("plan")
req.Remark = c.Params().GetStr("remark")
if req.UserId < 0 || len(req.Date) == 0 {
c.JSON(gox.M{"error": 1})
return
}
values := url.Values{}
values.Set("user_id", strconv.FormatInt(req.UserId, 10))
values.Set("date", req.Date)
values.Set("work", req.Work)
values.Set("plan", req.Plan)
values.Set("remark", req.Remark)
resp, e := http.DefaultClient.PostForm("http://localhost:8001/daily-report", values)
if e != nil {
c.JSON(gox.M{"error": 2, "msg": "server error"})
return
}
data, _ := ioutil.ReadAll(resp.Body)
defer resp.Body.Close()
var respMap map[string]interface{}
if err := json.Unmarshal(data, &respMap); err == nil {
if err, ok := respMap["error"].(float64); ok && int(err) == 0 {
c.JSON(gox.M{"error": 0})
} else {
log.Println(respMap)
c.JSON(gox.M{"error": 1, "msg": "failed to add report"})
}
} else {
log.Println(respMap)
c.JSON(gox.M{"error": 2, "msg": "server error"})
}
}
示例3: ResponseData
func ResponseData(c wine.Context, data interface{}) {
c.JSON(gox.M{"error": ErrNone, "msg": "", "data": data})
}