Golang - GET HTTP Request with Query Parameters

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

In this tutorial, we will show how to make an HTTP GET request call with query parameters in Golang.

In Go, you can make a GET request with query parameters using the net/http package.

Golang - GET HTTP Request with Query Parameters

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
)

func main() {

    name := "Admin"
    occupation := "Engineer"

    params := "name=" + url.QueryEscape(name) + "&" +
        "occupation=" + url.QueryEscape(occupation)
    path := fmt.Sprintf("https://httpbin.org/get?%s", params)

    resp, err := http.Get(path)

    if err != nil {
        log.Fatal(err)
    }

    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)

    if err != nil {

        log.Fatal(err)
    }

    fmt.Println(string(body))
}

Note that the above example appends query parameters to the URL.

url.QueryEscape is used to properly encode the parameter values to handle special characters.

The log.Fatal function is used to handle errors by logging the error message and terminating the program.

The defer resp.Body.Close() ensures that the response body is closed once the request is finished.

Run the following command to execute the go_example.go file:

G:\GoLang\examples>go run go_example.go
{
  "args": {
    "name": "Admin",
    "occupation": "Engineer"
  },
  "headers": {
    "Accept-Encoding": "gzip",
    "Host": "httpbin.org",
    "User-Agent": "Go-http-client/2.0",
    "X-Amzn-Trace-Id": "Root=1-60d072dd-69515e203aad78b55270febd"
  },
  "origin": "103.208.69.12",
  "url": "https://httpbin.org/get?name=Admin&occupation=Engineer"
}

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare