[Go] golang http下返回json數據

需求返回json格式編碼的結構體 , 須要返回content-type json

返回不一樣的響應碼post

 

結構體的定義 ,由於可導出的結構體 ,必須大寫,若是要小寫 ,就得加這個別名編碼

type JsonResult  struct{
    Code int `json:"code"`
    Msg  string `json:"msg"`
}

從post中獲取到字段後 , 返回對應的結果 , 設置header必須在返回響應碼以前調用spa

//驗證接口
func check(w http.ResponseWriter, r *http.Request) {
    email := r.PostFormValue("email")
    server := r.PostFormValue("server")
    password := r.PostFormValue("password")
    msg, _ := json.Marshal(tools.JsonResult{Code: 400, Msg: "驗證失敗"})

    w.Header().Set("content-type","text/json")
    if email != "" && server != "" && password != "" {
        res := tools.CheckEmailPassword(server, email, password)
        if res {
            msg, _ = json.Marshal(tools.JsonResult{Code: 200, Msg: "驗證成功"})
            w.Write(msg)
        } else {
            w.WriteHeader(400)
            w.Write(msg)
        }
    } else {
        w.WriteHeader(400)
        w.Write(msg)
    }
}

相關文章
相關標籤/搜索