Response of the body can be read using any method that could read data from incoming byte stream. Simplest of them is ReadAll function provided in ioutil package.
responseData,err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
It will give you API response in []byte. If response is plain text you can easily convert it into string using type conversion:
responseString := string(responseData)
And Check the result
fmt.Println(responseString)
Sample Program:
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "http://country.io/capital.json"
response, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
responseData, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
responseString := string(responseData)
fmt.Println(responseString)
}