#Golang
112 artikel
05 Mengenal JSON Array
Pengenalan JSON Array
Selain JSON berbentuk Objek, biasanya dalam JSOn juga kita bisa menggunakan tipe data Array. Sebenarnya array JSON itu mirip seperti yang ada pada JavaScript yang mana di dalamnya terdapat tipe data primitif atau tipe data komplek seperti array objek.
04 Mengenal Decode JSON
Pengenalan Decode JSON
Pada artikel sebelumnya kita sudah belajar encode JSON dan cara membuat JSON Object, maka selanjutnya kita akan mempelajari bagaimana untuk mentranslate dari JSON objek menjadi ke dalam objek struct pada Golang. Konversi dari JSON ke dalam Golang objek struct ini sering kita sebut dengan decode
.
03 Mengenal JSON Objek
Pengenalan JSON Object
Pada artikel sebelumnya kita sudah mempelajari encode data seperti string
, number
, boolean
dan tipe primitif lainnya. Tetapi ada satu case pada unit test yang dibuat berupa struct objek. Nah pada kali ini kita akan lebih dalam lagi mempelajari objek dari JSOn tersebut. Data JSON bentuknya objek dan Array sedangkan valuenya bisa berupa objek lagi atau langsung data dengan tipe primitif lainnya.
02 Encode JSON
Pengenalan Encode JSON
Bahasa Golang sudah menyediakan fungsi untuk kebutuhan konversi data JSON yaitu kita bisa menggunakan fungsi ini
01 Pengenalan Package
Pengenalan JSON
JSON singkatan dari JavaScript Object Notation yang merupakan struktur format data yang bentuknya seperti Onject dari JavaScript. JSON ini merupakan format data yang paling banyak digunakan saat ini untuk membuat RESTful API. Semua bahasa pun bisa menggunakan format JSON ini karena bisa menjadi standar format agar bisa komunikasi antar service walaupun menggunakan berbeda bahasanya. Misalkan satu service menggunakan Golang dan service lainnya menggunakan Java, maka agar bisa berkomunikasi dengan baik maka perlu format yang sama yaitu salah satunya JSON ini yang bisa menyeragamkan format dari kedua bahasa tersebut yang ada pada service kita. Anda bisa kunjungi https://json.org/json-en.html jika ingin lebih lanjut mengempelajarinya.
08 Membuat Middleware Router
Pengertian Middleware
HttpRouter adalah library untuk membuat http router saja tidak memiliki fitur-fitur lain selain router dan router ini merupakan implememntasi dari http.Handler
bawaan dari Golang sendiri sehingga untuk membuat middleware kita bisa membuatnya sendiri seperti yang pernah kita buat pada Golang Web postingan sebelumnya yaitu
HTTP Middleware.
07 Menangani Method Not Allowed
Pengertian Method Not Allowed
Ketika kita menggunakan ServerMux, kita kita tidak bisa menentukan HTTP Method apa yang akan kita gunakan pada Handler. Namun pada Router yang sedang kita gunakan ini, kita bisa menentukan HTTP Method apa yang ingin kita gunakan sehingga pada client akan mengirim method yang sesuai dengan router yang sudah kita tentukan. Jika tidak sesuai dengan ketentuan pada Router maka akan terjadi error Method Not Allowed.
06 Menangani Halaman Not Found
Pengertian Not Found Handler
Selain Router bisa mengendalikan panic
, dia juga bisa memiliki handler untuk halaman not found atau sering kita sebut halaman tidak bisa diakses. Not Found handler adalah handler yang dieksekusi ketika client mencoba melakukan request terhadap halaman atau URL website kita yang memang tidak terdapat di dalam Router service kita. Secara default, jika tidak ada route maka akan tidak ditemukan, tetapi Router akan melanjutkan request tersebut ke http.NotFound
, namun kita juga bisa mengubahnya menjadi halaman router tertentu dengan cara mengubah
05 Mempelajari Panic Handler
Pengertian Panic Handler
Ketika kita membuat logic pada handler pasti kita memikirkan suatu kasus ketika terjadi panic, lalu apa yang harus kita lakukan? Dalam Panic handler ini secara otomatis akan terjadi error dan web akan berhenti mengembalikan response. Pada materi sebelumnya kita pernah membahas tentang Web menanangi panic dengan membuat Middleware khusus secara manual. Namun di Router sudah disediakan untuk menangani panic
dengan cara menggunakan attribute PanicHandler
.
04 Mempelajari Serve File
Pengertian Serve File
Pada materi
Membuat Web Golang. Maka pada Router pun sudah mendukung serve static file menggunakan fungsi ServeFiles(Path, FileSystem)
yang mana pada Path
kita harus menggunakan Catch All Parameters. Sedangkan pada FileSystem
bisa melakukan manual load dari folder atau menggunakan golang Embed seperti yang pernah kita bahas di materi sebelumnya.
03 Mempelajari Route Pattern
Penggunaan Named Parameter
Apakah Router Pattern itu memiliki Pola? Betul sekali setiap endpoint itu memiliki pola parameter pada suatu URL dan sering disebut dengan Named Parameter. Named Parameter ini adalah pola pembuatan parameter dengan menggunakan nama. Setiap nama parameter diawali dengan titik dua :
lalu diikuti dengan nama parameter-nya. Misalkan contoh seperti dibawah ini.
02 Mempelajari HTTP Router Params
Penggunaan HTTP Router Params
Pada httprouter.Handle
memiliki parameter tambahan yaitu Params
yang mana parameter tersebut digunakan untuk menyimpan parameter yang dikirim dari client tetapi Params
ini bukan query dari parameter
melainkan yaitu parameter dari URL. Kadang kita butuh untuk membuat URL yang tidak fix atau bisa berubah-ubah misalkan /product/1
, /product/2
dan seterusnya.