Belajar Golang #38 : Membuat API Sederhana dengan tipe JSON

Tutorial Golang ke – 38 yang membahas mengenai cara membuat REST API di bahasa program Golang menggunakan tipe JSON. Pada tutorial golang kali ini kita akan mencoba menggunakan method GET dan POST.

Tutorial ini sangat erat hubungannya dengan tutorial sebelumnya yaitu

Jika anda belum memahami mengenai kedua teori tersebut silahkan baca dululu.

Oke sudah ?

Jika sudah yuk lanjut lagi, jangan lupa sediain kopi.

Membuat API dengan Method GET

Method GET paling sering digunakan untuk menampilkan sebuah data json. Maka saya akan berikan contoh pertama dengan method GET.

Method GET dapat di akses melalui browser atau tools api lainnya. Selain itu juga dapat di ambil dari website lainnya, dengan catatan harus mengaktifkan cors.

Yuk langsung saja kita buat.

main.go

Saya akan mengakses dengan tools postman.

Hasilnya :

Belajar Golang #38 : Membuat API Sederhana dengan tipe JSON

Perhatikan kode di atas, terdapat http server yang mengalankan fungsi GetMahasiswa(). Dimana di dalam fungsi tersebut akan memeriksa dahulu method yang di akses, apabila method itu GET maka akan di teruskan ke baris kode berikutnya.

Kode baris berikutnya memanggil method NewMahasiswa(), dimana nilai balik dari fungsi tersebut adalah data array dari struct Mahasiswa. Setelah itu maka data tersebut di ubah format ke dalam tipe byte dengan sintaks marshal.

Untuk menampilkan ke halaman browser menggunakan kode w.Write(datamahasiswa). Agar Format JSON harus menambahkan sintaks w.Header().Set("Content-Type", "application/json").

Sedangkan untuk sintaks w.WriteHeader(http.StatusOK) digunakan untuk memeberikan kode status header. Jika belum paham mengenai kode status http bisa membaca di https://restfulapi.net/http-status-codes/.

Membuat API dengan Method POST

Kalau menggunakan Method POST ini tidak bisa langsung di akses di browser, tapi dapat menggunakan form HTML atau Postman sebagai tools. Di karenakan kita tidak membuat website namun membuat API Web Service dengan Golang maka untuk Uji Coba saya menggunakan Postman.

Sebelum ke kode program ada hal yang perlu kita pahami tentang input data post. Secara umum dan sering di pakai dapat menggunakan 2 macam cara untuk menerima data yaitu dengan form dan teks json, kedua hal ini biasa di sebut content type. Cara menerima datanya pun berbeda.

Langsung saja kita buat contoh kode golang nya.

main.go

Percobaan saya lakukan 2 kali yaitu dengan menggunakan form data dan raw data json.

Uji coba dengan Form Data

Belajar Golang #38 : Membuat API Sederhana dengan tipe JSON

Uji coba dengan Data JSON

Belajar Golang #38 : Membuat API Sederhana dengan tipe JSON

Yuk kita pahami satu per satu.

Routing "/post_mahasiswa" mengakses fungsi dengan nama PostMahasiswa. Sama seperti hal nya dengan method GET untuk memeriksa method yang di akses, namun di ganti dengan method POST.

Untuk menangkap tipe konten yang di inputkan dapat menggunakan kode r.Header.Get("Content-Type") . Jika tipe tersebut json untuk menerima data harus menggunakan tipe data maupun struct di tandai dengan kode decodeJSON := json.NewDecoder(r.Body) dan decodeJSON.Decode(&Mhs) agar masuk struct dengan nama Mahasiswa.

Jika data tersebut bukan json maka untuk mengambil data nya dapat menggunakan sintaks PostFormValue dan di dalam nya di tulis nama field nya. Data kembalian terhadap fungsi itu yaitu string, apabila ingin mengubah ke bentuk tipe data integer dapat menggunakan manipulasi string yaitu Atoi.

Sekian tutorial cara membuat Web Service API menggunakan Bahasa Golang. Terima kasih.

Leave a Reply