[Golang] POST リクエストを送信する

Golang で POST リクエストを送信するサンプルコードです。リクエストボディは JSON 形式で送信しています。

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

type RequestBody struct {
    Something string
}

func main() {
    requestBody := &RequestBody{
        Something: "Hello",
    }

    jsonString, err := json.Marshal(requestBody)
    if err != nil {
        panic("Error")
    }

    endpoint := "https://documentroot.org"
    req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(jsonString))
    if err != nil {
        panic("Error")
    }

    req.Header.Set("Content-Type", "application/json")

    client := new(http.Client)
    resp, err := client.Do(req)
    if err != nil {
        panic("Error")
    }
    defer resp.Body.Close()

    byteArray, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic("Error")
    }

    fmt.Printf("%#v", string(byteArray))
}

説明