利用Go net/http发送Restful请求

2019-01-31  本文已影响0人  KidneyBro

最近工作中涉及到了使用Go来发送restful请求,因为Go默认的http只提供GO&PATCH两种请求,其余类型的请求需要开发人员通过http.Request来实现,本文提供PATCH操作带json数据的一个Demo。

package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
)
func main() {
    url := "http://127.0.0.1:5000/api/version/resources/resource_item"
    fmt.Println("URL:>", url)

  // 使用转义反引号完成json转换
    item := "testKey"
    updateParams := `{"testKey":"` + item + `"}`

    var jsonStr = []byte(updateParams)

    req, _ := http.NewRequest(http.MethodPatch, url, bytes.NewBuffer(jsonStr))
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, _ := client.Do(req)

    fmt.Println("response Status:", resp.Status)
    fmt.Println("response Headers:", resp.Header)
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println("response Body:", string(body))
}

其他类型请求同上,只需要将动作改为对应的操作即可。

上一篇下一篇

猜你喜欢

热点阅读