Kode Program : Form Post

Golang Web – Form post

Saat kita belajar HTML, kita tahu bahwa saat kita membuat form, kita bisa submit data nya dengan method GET atau POST. Jika menggunakan method GET maka hasilnya semua data di form akan menjadi query parameter. Sedangkan jika menggunakan POST, maka semua data di form akan dikirim via body HTTP Request. Di golang, untuk mengambil data form POST sangatlah mudah.

package belajar_golang_web

import (
	"fmt"
	"io"
	"net/http"
	"net/http/httptest"
	"strings"
	"testing"
)

func FormPost(writer http.ResponseWriter, request *http.Request) {
	err := request.ParseForm()
	if err != nil {
		panic(err)
	}

	firstName := request.PostForm.Get("first_name")
	lastName := request.PostForm.Get("last_name")

	// jika menggunakan PostFormValue maka kita tidak perlu melakukan ParseForm, karana akan dilakukan otomatis
	// firstName := request.PostFormValue("first_name")
	// lastName := request.PostFormValue("last_name")

	fmt.Fprintf(writer, "Hello %s %s", firstName, lastName)
}

func TestFormPost(t *testing.T) {
	requestBody := strings.NewReader("first_name=Rendy&last_name=Wijaya")
	request := httptest.NewRequest(http.MethodPost, "http://localhost:8080", requestBody)
	request.Header.Add("Content-Type", "application/x-www-form-urlencoded")

	recorder := httptest.NewRecorder()

	FormPost(recorder, request)

	response := recorder.Result()
	body, _ := io.ReadAll(response.Body)

	fmt.Println(string(body))
}
Kode Program : Form Post
Kode Program : Form Post

Penutup

Pada artikel kali ini kita telah belajar tentang form post pada golang web. Dan pada artikel selanjutnya saya akan membahas response code pada golang web.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

About Me

About Me

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam.

Social Profiles

Facebook