我是一名新手,尝试创建一个 Golang 脚本,该脚本从一个端点读取,然后更新一些字段并将其发布到不同的端点。对端点的 PUT 请求将此作为curl 命令。
curl -v \
-X PUT -H 'X-Api-Key:{Key}' \
-H 'Content-Type: application/json' url/{id} \
-d '{ "name" : "Somename", "type": "Sometype", "status" : "enabled"}'
我希望与发送 GET 请求的端点保持相同的名称和类型,但我希望在发布到其他端点时将状态从启用更改为禁用。因此,基本上我从一个端点获得的任何结果都将保持不变,除了我需要更改为禁用的状态。任何示例代码都会有所帮助。
这是我到目前为止的代码,但它只是用于读取端点。所以不确定如何将两者结合起来。
func main() {
req, _ := http.NewRequest("GET", "URL", nil)
req.Header.Set("X-Api-Key", <Key>)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
var obj struct {
Library []struct {
Name string `json:"name"`
Type string `json:”type”`
Status string `json:”status"`
} `json:”library"`
}
if err := json.Unmarshal(body, &obj); err != nil {
panic(err)
}
for _, app := range obj.Library {
fmt.Println(app.Name, app.Type, app.Status)
}
}
扬帆大鱼
相关分类