Golang Read POST Form Values

The example below uses gorilla/mux package

package main

import (
"fmt"
"log"
"net/http"
"github.com/gorilla/mux"
)

func YourHandler(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
log.Println("one=" + r.FormValue("one"))
log.Println("two=" + r.FormValue("two"))
fmt.Fprintf(w, "Gorilla!\n")
}

func main() {
r := mux.NewRouter()
r.HandleFunc("/", YourHandler).Methods("POST")
log.Fatal(http.ListenAndServe(":8000", r))
}

With the codes above, try posting a form with curl or postman

curl -X POST --data 'one=1' 'http://localhost:8000/'

Your should see the following in your web server console.

Variable one returns with the value 1 as posted.

Variable two is empty as it is not in the form.

< Back to all the stories I had written

A software engineer, a rock climbing, diving & inline skating enthusiast, a husband, a father.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store