問(wèn)題1:
- 問(wèn)題描述
按照官方實(shí)例返回的json結(jié)果始終為 {},官方實(shí)例如下:
//官方案例
func (this *AddController) Get() {
mystruct := { ... }
this.Data["json"] = &mystruct
this.ServeJSON()
}
- 解決方法:
返回json可以按如下步驟:
- 創(chuàng)建返回結(jié)果的結(jié)果體
//1.返回結(jié)果的結(jié)構(gòu)體
type Response struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data []string `json:"data"`
Success bool `json:"success"`
}
- 在對(duì)應(yīng)的函數(shù)中,寫(xiě)入
u.Data["json"] = &Response{200, "賬號(hào)或密碼錯(cuò)誤", []string{}, false}
3.調(diào)用ServeJSON方法
u.ServeJSON()
- 示例:
//返回結(jié)果的結(jié)構(gòu)體
type Response struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data []string `json:"data"`
Success bool `json:"success"`
}
//返回結(jié)果的方法
// @Title Login
// @Description Logs user into the system
// @Param username query string true "The username for login"
// @Param password query string true "The password for login"
// @Success 200 {string} login success
// @Failure 403 user not exist
// @router /login [get]
func (u *UserController) Login() {
username := u.GetString("username")
password := u.GetString("password")
u.Data["json"] = &Response{200, "賬號(hào)或密碼錯(cuò)誤", []string{}, false}
if models.Login(username, password) {
u.Data["json"] = &Response{200, "登錄成功", []string{}, true}
}
u.ServeJSON()
}