主要记录的功能点
- 设置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
|
请发表评论