Cara membuat Http Server di Golang
HTTP server di Go adalah sebuah aplikasi yang mampu menerima permintaan HTTP dan memberikan respons berdasarkan permintaan tersebut. Dalam contoh kode yang Anda berikan, sebuah HTTP server sederhana dibuat menggunakan pustaka standar net/http
dari Go.
Mari jelaskan bagian-bagian dari kode tersebut:
Struct
Product
:Struct
Product
digunakan untuk mendefinisikan bentuk data produk dengan tiga properti:Name
(nama produk),Price
(harga produk), danStock
(stok produk).Variabel
products
:Variabel
products
adalah slice dariProduct
, yang digunakan untuk menyimpan daftar produk yang dimasukkan oleh pengguna melalui permintaan HTTP POST.Fungsi
ProductHandler
:Fungsi
ProductHandler
adalah request handler untuk endpoint/product
. Fungsi ini menangani permintaan HTTP GET dan POST.HTTP Method Handling:
Kode tersebut memeriksa metode HTTP dari permintaan (
r.Method
). Jika metodenya adalah GET, server akan mengembalikan daftar produk dalam format JSON. Jika metodenya adalah POST, server akan mendekode body JSON permintaan, memvalidasi datanya, dan menambahkan produk ke dalam daftarproducts
. Jika metode HTTP tidak valid (bukan GET atau POST), server akan memberikan respons dengan status "Method Not Allowed".Menjalankan HTTP Server:
Fungsi
main
menetapkanProductHandler
sebagai request handler untuk endpoint/product
dan kemudian menjalankan server HTTP pada port 8080.
Ketika Anda menjalankan program ini, Anda dapat mengakses http://localhost:8080/product
menggunakan HTTP client seperti browser atau curl. Saat melakukan GET request, server akan mengirimkan daftar produk yang sudah ada. Saat melakukan POST request dengan mengirimkan data produk dalam format JSON, server akan menambahkan produk baru ke dalam daftar products
setelah memvalidasi data tersebut.
Berikutnya untuk membuat hot reload di Golang menggunakan library Air dengan struktur proyek yang telah disebutkan, Anda dapat mengikuti langkah-langkah berikut:
Langkah 1: Install library Air
Jika Anda belum menginstal Air, jalankan perintah berikut untuk menginstalnya:
Langkah 2: Inisialisasi Proyek dengan Air menggunakan air init
air init
Buka terminal atau command prompt, dan navigasikan ke direktori proyek Anda (project-folder/
). Kemudian, jalankan perintah berikut untuk menginisialisasi proyek Anda dengan Air:
Perintah ini akan membuat file konfigurasi air.toml
di dalam direktori proyek Anda secara otomatis.
Langkah 3: Menjalankan Aplikasi dengan Hot Reload
Setelah proses inisialisasi selesai, Anda dapat menjalankan aplikasi Golang Anda dengan perintah berikut:
Sekarang, aplikasi Anda akan dijalankan menggunakan Air, dan setiap kali Anda menyimpan perubahan di file main.go
atau file-file lain dalam proyek, Air akan mendeteksi perubahan tersebut dan secara otomatis mengompilasi ulang aplikasi Anda, memungkinkan hot reload.
Pastikan Anda telah mengonfigurasi main.go
dengan benar sesuai dengan kebutuhan proyek Anda. Dengan langkah-langkah ini, Anda dapat mengaktifkan hot reload dalam proyek Golang Anda menggunakan library Air tanpa harus membuat file konfigurasi air.toml
secara manual.
Last updated