Membaca Http Request Body di Golang

Nipe Setiawan Harefa
PayMyTea
Published in
Nov 15, 2020

Hai semua, kali ini aku mau berbagi salah satu hal sering ditemui jika kamu bekerja dengan golang khususnya API. Saat pertama kali belajar golang maka saya sedikit kebingungan bagaimana cara membagai request body baik itu melalui POST, PUT dan PATCH.

Pertama kita buat dulu structnya, mungkin bisa diibaratkan sebagai class jika menggunakan bahasa lain seperti php, java dan lainnya nanti yang berfungsi untuk menampung data dari requestnya.

Selanjutnya kita buat fungsi handler httpnya, contohnya seperti berikut

Nah dari potongan kode diatas simpelnya kita akan baca semua byte dari request body lalu bytenya akan di unmarshal ke struct contoh. Nah dari sini mungkin terlihat simpel, namun tantangan selanjutnya adalah bagaimana jika endpoint makin banyak dan http handlernya juga makin banyak.

Tentunya tidak baik jika kita mengulang-ngulang kode yang sama di setiap fungsi. Untuk itu kita bisa pisahkan menjadi satu fungsi baru. Jadinya seperti ini :

Yap, semakin simpel, namun bukan berarti terbaik. Sekarang dibeberapa http framework populer seperti Gin, Echo, dan lainnya. Sudah menyertakan fungsi untuk Binding request ke struct yang lebih kompleks lagi.

Untuk kode lengkapnya bisa diakses di https://github.com/nipeharefa/medium-blog-membaca-request-body-go

--

--