go http get 請求實現


主要記錄的功能點

  • 設置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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM