主要記錄的功能點
- 設置Header
- 解析返回的消息體,獲取需要的那部分
服務側的返回消息體
{ "success": true, "message": "OK", "data": { "name": "xxx", "hostName": "xxxxx", "status": 0, "statusTime": "2020-08-06 15:04:18",
"disable": false, "instanceType": "host", "podId": null, "containerList": null }, "retcode": 0 }
客戶端請求
func queryInstance(instanceName string) { url:="xxxxx" req, err := http.NewRequest("GET", url, nil) if err != nil { fmt.Println(err) }
// 設置Header req.Header.Set("token", "XXXX") req.Header.Set("Content-Type", "application/json;charset=UTF-8") client := &http.Client{} resp, _ := client.Do(req) body, _ := ioutil.ReadAll(resp.Body)
// 只定義需要獲取的那部分消息體的結構 type Data struct { HostName string `json:"hostName"` } type Response struct { Success bool `json:"success"` Data Data `json:"data"` } response := Response{}
// 解析json數據並將數據存儲在response結構體中 json.Unmarshal(body, &response)
fmt.Println(response) fmt.Println(response.Data.HostName) }
打印結果
{true {test.hsotname1}} test.hsotname1