Belajar Golang #42 : Membuat REST API + MySQL – Insert Data

Tutorial Golang ke-42 yaitu membuat REST API dengan Golang menggunakan Database MySQL dimana tutorial ini akan melakukan insert data dalam bentuk data json.

Sebelumnya kita sudah belajar golang mengenai cara menampilkan data REST API dengan database MySQL dengan Golang. Pada tutorial kali ini merupakan tutorial lanjutan dari tutorial membuat rest api menggunakan Golang + MySQL.

Bagi anda yang belum mempelajari tutorial sebelumnya harap ikuti tutorial sebelumnya, karena sangat berkaitan.

Membuat REST API + MySQL – Insert Data

Apa yang ingin di lakukan pada tutorial ini ?

  • Membuat Query insert data ke database MySQL.
  • Membuat Routing untuk POST.
  • Membuat Method baru untuk menerima data.

Membuat Routing dan Method Baru

Membuat routing dan method baru ini pada file main.go. Silahkan buka kembali file main.go nya kemudiian tambahkan kode berikut ini :

Lalu buat method baru dengan nama PostMahasiswa() dengan http handler. Berikut ini isi dari method tersebut.

Kode golang di atas lumayan panjang, mari kita bahas. Method yang di ijinkan pada fungsi tersebut adalah POST. Pada kode di atas langkah awal kita harus memeriksa content type pada header, apabila data tersebut berupa json maka akan di lanjutkan.

Baris berikutnya yaitu melakukan decode dari data json di tandai dengan potongan kode json.NewDecoder(r.Body).Decode(&mhs). Kita menggunakan variable mhs agar data yang di insert sesuai dengan model struct Mahasiswa.

Apabila sudah isi dari variable mhs akan di kirim pada fungsi Insert pada file mahasiswa/repository_mysql.go. Asumsikan kita sudah memiliki fungsi tersebut.

Jika di gabungkan dengan kode sebelumnya maka file main.go akan berisi file kode baris berikut ini.

main,go

Sekarang kita lanjut membuat query insert data ke MySQL dengan Golang.

Query Insert Data ke Database MySQL dengan Golang

Sekarang kita buat fungsi baru di file mahasiswa/repository_mysql.go. Kita akan membuat fungsi dengan nama Insert().

Berikut ini kodenya :

mahasiswa/repository_mysql.go

Kode di atas cukup sederhana dan mudah di mengerti. Perhatikan kode di atas, terdapat variable dengan nama queryText dimana variable tersebut berisi query untuk melakukan insert ke database MySQL.

Lalu agar query teks tersebut dapat di ekstekusi maka kita dapat menggunakan kode ExecContext dengan parameter context dan query teksnya.

Sehingga kode lengkap untuk menampilkan data dan insert data MySQL dengan Golang seperti di bawah ini.

mahasiswa/repository_mysql.go

Oke kode sudah kita buat semuanya, sekarang kita lakukan pengujian.

Uji Coba Insert data REST API dengan Golang + MySQL

Kita sudah mengerti bahwa untuk fungsi PostMahasiswa mahasiswa hanya memperbolehkan method POST. Maka kita dapat melakukan uji coba menggunakan postman.

Sebelumnya silahkan jalankan dulu program golang nya.

go run main.go

Lalu silahkan buka postman dan akses dengan URL : http://localhost:7000/mahasiswa/create.

Langkah pengujian dengan postman hal pertama anda harus mencetang Content-Type dengan value application/json pada tab header.

Selanjutnya untuk mengirim data yang ingin di simpan silahkan buka pada tab body lalu pilih raw dan pada bagian paling kanan yang awalnya teks silahkan di ganti menjadi json.

Dan hal yang paling penting jangan lupa menyetel request dengan method POST.

Belajar Golang #42 : Membuat REST API + MySQL – Insert Data
Cara melakukan insert data API ke MySQL dengan Golang

Jika responsenya dengan kode status 201(created) dan responnya sama dengan gambar di atas maka artinya insert data api dari golang ke MySQL berhasil kita lakukan.

Untuk memastikan apakah data benar-benar masuk, silahkan akses URL yang berguna untuk menampilkan data API, seperti pada tutorial sebelumnya yaitu http://localhost:7000/mahasiswa.

Belajar Golang #42 : Membuat REST API + MySQL – Insert Data
Cara menampilkan data API ke MySQL dengan Golang

Perhatikan gambar di atas, terdapat data baru pada baris objek notasi pertama dimana data tersebut sesuai dengan apa yang telah kita inputkan.

Nah itu Cara membuat REST API dengan Golang dan MySQL untuk melakukan Insert Data. Terima kasih.

Leave a Reply