利用Go net/http发送Restful请求

最近工作中涉及到了使用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))
}

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 笔记 RESTful架构风格概述 RESTful架构风格 RESTful架构风格最初由Roy T. Fieldin...
    plutoese阅读 12,770评论 3 58
  • 安子anzi阅读 117评论 0 0
  • 午后,我在拖地,他准备午休。 我收拾书柜的时候看着柜子里的书,嘟囔着:你看了哪本书了? 他嘿嘿一笑:一本都没看。 ...
    钱罐子钱阅读 257评论 0 1
  • 爱情不是唯一,但爱情可以解决很多问题。 早上醒来是在八点,很奇怪,长大以后睡懒觉的时间也变少了,死拽着被子不起的日...
    阿路呀阅读 462评论 0 5
  • 大奖是我闺蜜,高三认识的闺蜜,其中大学几年联系的少,但近几年又很熟稔起来。现在几乎每天都相互吐槽几句。 在高中时候...
    风启阅读 304评论 0 0