Overviewh2
Catatan pribadi waktu belajar Go. Tujuannya biar kalau lupa, tinggal baca lagi. Di sini kita bikin HTTP server kecil yang mengembalikan JSON, tanpa library tambahan, hanya standard library.
A. Setup projecth2
Pastikan Go sudah terinstall.
go versionBuat folder project lalu init module.
mkdir hello-go && cd hello-gogo mod init hello-goB. Hello Worldh2
Buat file main.go.
package main
import "fmt"
func main() { fmt.Println("Hello, Go!")}Jalankan:
go run .C. HTTP serverh2
Ganti isi main.go dengan server yang punya satu endpoint /health.
package main
import ( "encoding/json" "log" "net/http")
type Response struct { Status string `json:"status"`}
func health(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(Response{Status: "ok"})}
func main() { http.HandleFunc("/health", health)
log.Println("listening on :8080") log.Fatal(http.ListenAndServe(":8080", nil))}Coba dari terminal lain:
curl localhost:8080/health# {"status":"ok"}Catatanh2
- Tag
json:"status"menentukan nama field di JSON. Tanpa itu, namanya jadiStatus. log.Fatalmenghentikan program kalau server gagal start, misalnya port sudah dipakai.