Setelah sekian lama tidak update blog, nah kali ini penulis akan membuat sebuah artikel mengenai bagaimana cara membuat RESTful Web Service dengan menggunakan Framework Spring Boot :). Spring Boot merupakan salah satu project dari pivotal yaitu sebuah perusahaan yang mengembangkan framework spring. Bagi anda yang belum kenal dengan spring framework bisa membaca artikel di Belajar Spring Framework. Karena spring framework merupakan salah satu framework dari bahasa pemrograman java maka anda diwajibkan untuk melakukan instalasi java, bagi anda yang belum melakukan instalasi java dapat membaca artikel Instalasi Perlengkapan Coding Java.
Setup Project
Pada artikel ini, kita akan menggunakan groovy yaitu salah satu bahasa scripting yang dikembangkan diatas JVM (java virtual machine) dimana bahasa groovy ini dapat diinterpretasikan atau dikompilasi. Masih terdapat bahasa pemrograman lain yang dikembangkan diatas JVM seperti scala, kotlin, jruby, jython dan lain sebagainya. Di blog pribadi saya, terdapat salah satu pembahasan bahasa pemrograman diatas yaitu kotlin, bagi anda yang ingin membaca tentang kotlin, silahkan akses di Instalasi Perlengkapan Coding Kotlin.
Untuk melakukan setup project spring boot, kita dapat mengenerate projectnya melalui start spring.io. Silahkan isikan konfigurasi seperti berikut.
Kemudian silahkan pilih menu generate project. Maka secara otomatis akan dibuatkan sebuah project spring boot dengan menggunakan bahasa pemrograman groovy :D. Disini kita akan menggunakan database mongodb dan menggunakan arsitektur HATEOAS (Hypermedia as the Engine of Application State). HATEOAS adalah salah satu constraint untuk membangun sebuah RESTful Web Service, dimana HATEOAS ini merupakan level 3 pada constraint RESTful Web Service. Pembahasan mengenai HATEOAS akan dibahas pada artikel berikutnya :).
Silahkan extract file yang telah didownload. Pada artikel ini, kita akan menggunakan IntellIJ IDE. Silahkan buka IDE tersebut lalu import project spring boot, berikut adalah struktur project jika dilihat dari IDE tersebut.
Langkah Pertama silahkan Buat Struktur aplikasi seperti berikut.
Silahkan buka class Barang yang ada di package domain. Kemudian ubah codingannya menjadi seperti berikut.
Dari codingan diatas dapat kita lihat bahwa penulisan sintak java dan groovy sangat lah mirip, dimana terdapat perbedaan yaitu groovy tidak mengharuskan developer untuk menulis titik koma (;). Pada artikel ini, penulis menggunakan database mongodb maka pada saat mendeklarasikan domain / class pojo kita menggunakan annotation @Document dimana annotation tersebut mewakili dari collection yang ada di database mongodb. Untuk mendeklarasikan jenis barang, kita menggunakan enum class, silahkan buat sebuah enum class dengan nama JenisKelamin, Kemudian isikan codingan seperti berikut.
Setelah selesai, tahap selanjutnya silahkan buka class Penjualan untuk aksi transaksi, kemudian isikan codingan seperti berikut.
Sama seperti sebelumnya, class ini berisi tentang domain / class pojo. Kemudian buka class PenjualanDetail lalu masukkan codingan seperti berikut.
Pada domain PenjualanDetail terdapat sedikit tambahkan yaitu annotation DBRef dimana annotation ini berfungsi sebagai relasi antara collection. Terdapat 1 Penjualan dengan banyak Penjualan Detail dan begitu pula dengan barang, sehingga relasi ini menghasilkan relasi one to many dari penjualan ke penjualan detail dan dari barang ke penjualan detail.
Langkah selanjutnya silahkan buka file BarangRepository, kemudian isikan codingan seperti berikut.
class BarangRepository adalah sebuah class interface dimana di dalam class ini kita melakukan extends terhadap class MongoRepository sehingga melalui class ini kita dapat melakukan process create read update dan delete. Spring data mongodb telah menyediakan fungsi paging, sorting dan lain sebagainya, bahkan kita dapat melakukan custom terhadap query yang kita butuhkan. Dikarenkan project ini menggunakan spring data rest maka kita tidak lagi memerlukan membuat controller maupun service, sehingga dari class respository sudah dapat dilakukan proses manipulasi data. Bagaimana kita dapat mengetahui url / end point yang digunakan ? kita dapat mengetahuinya melalui path yang ada di annotation RepositoryRestResource. Untuk end point / url process create update, read dan delete secara otomatis akan dibuatkan berdasarkan method http. Berikut adalah daftar listnya :
Method Http
Deksripsi
GET
Untuk mengambil data
POST
Untuk menyimpan data
PUT
Untuk merubah data
DELETE
Untuk menghapus data
Selanjutnya silahkan buka class PenjualanRepository kemudian isikan codingan seperti berikut.
Sama seperti class sebelumnya, selanjutnya silahkan buka class PenjualanDetailRepository kemudian isikan codingan seperti berikut.
Kemudian tahap terakhir silahkan buka file application.properties yang ada di folder resouces, kemudian isikan codingan berikut.
Setelah selesai, tahap terakhir kita akan menjalankan aplikasi web nya dengan perintah.
Berikut adalah output ketika dijalankan.
Kemudian kita lakukan testing menggunakan postman, berikut adalah proses menyimpan data untuk barang
berikut adalah proses menyimpan data untuk penjualan
berikut adalah proses menyimpan data untuk penjualan detail
Bagi anda yang ingin melihat source code codingan, silahkan lihat di Belajar Spring Boot. Sekian artikel mengenai Membuat RESTful Web Service Dengan Framework Spring Boot dan terima kasih :)