Golang RestAPI untuk Pemula

Indra Bayu
SkyshiDigital
Published in
4 min readMay 15, 2018

Membuat sebuah project based RestAPI sudah bukan hal yang jarang dilakukan, justru sudah saatnya menggunakan konsep RestAPI ini. Selama saya menjadi seorang backend programmer, baru kali ini saya mendapatkan tantangan untuk belajar bahasa pemrograman yang belum pernah saya rasakan sebelumnya. Bahasa yang sudah pernah saya gunakan untuk pengembangan adalah javascript dan php, namun kali ini saya akan membahas cara pembuatan RestAPI menggunakan bahasa pemrograman Golang.

Golang adalah bahasa pemrograman yang lebih friendly dari segi syntax, dan dari segi efisiensi, golang tidak kalah jauh dari C/C++. Sehingga untuk pembuatan API akan sangat menguntungkan karena dapat mengurangi waktu akses dari API. Lebih lengkap mengenai Golang bisa kalian baca pada wikipedia mengenai Golang. Jika ingin mengetahui keuntungan menggunakan Golang bisa kalian baca di artikel di sini.

Sebelum memulai tentu kalian harus menginstall semua requirement yang dibutuhkan oleh Golang. Kalian bisa baca dokumentasi untuk menginstall Golang pada halaman di sini. Setelah selesai melakukan instalasi Golang pada komputer kamu, mari kita lanjutkan ke proses development.

Di sini akan digunakan gin-gonic/gin sebagai router dari Golang, seperti misal pada Node.Js adalah express dan untuk database yang digunakan adalah mysql, lalu untuk ORM yang digunakan seperti Bookshelf pada JS, adalah gorm untuk menginstall dependensi yang digunakan bisa kalian buka terminal kemudian tuliskan command dibawah:
go get -u "github.com/gin-gonic/gin"
go get -u "github.com/jinzhu/gorm"
go get -u "github.com/jinzhu/gorm/dialects/mysql"
go get -u "github.com/go-sql-driver/mysql"

Setelah semua dependensi telah di download sekarang kita bisa mulai untuk membuat sebuah proyek. Silahkan buat folder baru yang akan digunakan untuk menyimpan proyek yang akan kita buat, bisa melalui manual dari finder untuk pengguna Mac, atau explorer untuk pengguna Windows dsb. Folder sudah dibuat selanjutnya langkah-langkah pembuatan dijelaskan pada poin-poin berikut:

Pertama, buat struktur data.

Pada langkah pertama ini buatlah sebuah folder di dalam folder utama, dalam kasus saya di dalam folder RestFullApi kemudian saya namakan folder tersebut structs. Di dalam folder structs tersebut buat sebuah file berekstensi .go. File ini berguna untuk mendeklarasikan variable-variable yang dimiliki sebuah data, sebagai contoh yang akan dibuat adalah struktur data person.

Perlu diperhatikan bahwa nama sebuah struktur data harus diawali dengan huruf kapital. Kemudian karena kita menggunakan ORM gorm maka harus dimasukkan pada setiap struktur data yang dibuat dan melalui database. Pada line 1 dilihat bahwa package yang digunakan adalah structs karena ingin dibedakan menurut nama folder yang digunakan. Sebenarnya masih terdapat satu struktur data lagi yang digunakan, namun saya letakkan di dalam folder controller karena penggunaan struktur data tersebut hanya di dalam file controller. Struktur data kedua ada pada baris koding di bawah.

Saya namakan gorm.go karena merupakan struktur data yang akan langsung berhubungan dengan ORM database, lalu saya letakkan dalam folder controller yang berada setara dengan folder struct.

Kedua, membuat controller.

Controller digunakan untuk membuat fungsi yang akan digunakan oleh setiap API yang terbentuk di akhir tutorial ini. Tidak perlu dijelaskan lebih jauh mengenai controller karena sudah menjadi bahasan umum dari konsep MVC. Sebagai perhatian bahwa file controller berikut diletakkan di dalam folder controllers bersama dengan file gorm.go. Berikut controller yang saya buat, karena hanya terdapat satu table dalam database, jadi saya menamai sesuai dengan struktur data yang dibuat. Pada tutorial ini akan dijelaskan CRUD Person. Berikut file person.go, dan akan dijelaskan pada paragraf selanjutnya.

Seperti pada awal pembuatan sudah disinggung mengenai gin, mulai disini karena kita akan menggunakan controller yang tersambung dengan router, maka import gin terlebih dahulu. Penjelasan mengenai gin bisa kamu baca pada artikel di sini . Hal yang penting untuk diketahui adalah pada baris kode nomor 17, 30, 40, 66, 84 yang merupakan bagian dari gorm untuk melakukan sebuah query pada database.

Ketiga, membuat koneksi ke database.

Untuk bisa mendapatkan data dari database yang dalam hal ini memakai mysql maka harus terjadi koneksi antara server dengan database. Berikut file untuk melakukan koneksi ke database saya taruh pada folder config dengan nama file config.go. Dalam melakukan koneksi ke database berbeda antar-database. Contoh berikut adalah pengkoneksian ke mysql.

Terakhir, membuat main package

Setelah semua file di atas selesai dibuat, maka langkah terakhir adalah membuat main file yang digunakan untuk menjalankan server API yang telah kita buat seperti di atas. File berikut diletakkan di luar semua folder namun masih di dalam folder RestFullApi. Berikut file yang saya kasih nama base.go

Setelah semua dibuat, silahkan membuka command promt atau terminal, kemudian masuk ke folder tempat proyek kita tempatkan. Kemudian apabila kalian menggunakan nama file yang sama tinggal run kodingan kita dengan go run base.go atau jika ingin melakukan build terlebih dahulu bisa gunakan go build base.go && ./base lalu kalian bisa mencoba API yang sudah kalian buat di POSTMAN atau menggunakan aplikasi lain kesukaan kalian. Bagi yang ingin melihat kode proyek yang saya buat, kalian bisa lihat atau clone dari My Github. Sebelum lupa, saya mendapatkan gambaran pembuatan RestFullApi dari sini. Happy coding!

--

--