01 Pengenalan RESTful Pada Golang

01 Pengenalan RESTful Pada Golang

Pengenalan RESTFul API

Dikutip dari website amazon, API RESTful adalah antarmuka yang digunakan oleh dua sistem komputer untuk bertukar informasi secara aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas. Misalnya, untuk menghasilkan slip gaji bulanan, sistem akun internal Anda harus berbagi data dengan sistem perbankan pelanggan Anda untuk mengotomatiskan tagihan dan berkomunikasi dengan aplikasi absensi internal. API RESTful mendukung pertukaran informasi ini karena mengikuti standar komunikasi perangkat lunak yang aman, andal, dan efisien.

Golang JSON 09 Penggunaan Streaming Encoder

Golang JSON 09 Penggunaan Streaming Encoder

Pengenalan Stream Encoder

Selain JSON Decoder, pada package JSON ini juga bisa mendukung Encoder yang digunakan langsung JSON ke dalam io.Writer. Maka dengan begitu kita tidak perlu menyimpan JSON datanya terlebih dahulu ke dalam suatu variabel string atau []byte, jadi kita bisa langsung saja menulis ke dalam io.Writer.

Golang JSON 08 Penggunaan Streaming Decoder

Golang JSON 08 Penggunaan Streaming Decoder

Pengenalan Stream Decoder

Pada artikel sebelumnya kita pernah belajar package JSON dengan menggunakan konversi data JSOn yang sudah dalam bentuk variabel dan data string atau kita pakai []byte. Kadang-kadang data JSON itu berasa dari input berupa io.Reader yaitu bisa dalam bentuk file, Network ataupun request body. Maka kita bisa saja langsung membaca semua data tersebut terlebih dahulu lalu simpan di dalam suatu variabel dan baru kita konversi dari JSON, namun ini kita tidak perlu melakukannya karena pada package JSON memiliki fitur untuk membaca data dari Stream.

Golang JSON 07 Penggunaan Maps

Golang JSON 07 Penggunaan Maps

Penggunaan Map

Saat kita menggunakan JSON kita kadang menemukan kasus data JSON yang dinamis yang artinya atribut yang dibentuk JSON tidak tentu, bisa bertambah bisa berkurang dan bahkan tidak tetap. Maka kasus seperti ini jika kita unmarshal menggunakan Struct akan menyulitkan karena pada struct kita harus definisikan semua atribut-nya.

Golang JSON 06 Mengenal JSON Tags

Golang JSON 06 Mengenal JSON Tags

Pengenalan JSON Tags

Secara default jika kita membuat struct dan di marshal akan dimapping sesuai dengan nama atribut yang sama dan case sensitive. Lalu bagaimana jika kita ingin membedakan style antara penamaan atribute pada struct dengan yang di convert ke dalam JSON? Misalkan pada struct kita menggunakan PascalCase tetapi pada JSON kita ingin menggunakan snake_case. Untuk mendukung hal tersebut maka package json sudah mendukung Tags Reflection yaitu tags yang bisa menyesuaikan nama json yang nanti akan kita convert ke dalam JSON tersebut sehingga tribute yang ada di struct itu akan di konversi sesuai dengan penamaan ke dalam JSON.

05 Mengenal JSON Array

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

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

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

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

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

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

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.