Cara Membuat Microservice Sederhana dengan Spring Boot di Apache NetBeans

 ⊛ • 11 mins read

Main Image
Photo by Clint Adair on Unsplash

Sebelum memulai pembuatannya, yuk kita berkenalan dahulu dengan microservice! Jadi apa itu microservice? Microservice adalah sebuah arsitektur yang termasuk dari salah satu struktural service-oriented structure (SOA). Microservice menampung layanan yang dibagi dengan ukuran kecil dan saling terhubung. Kebalikan dari microservice adalah aplikasi monolitik ‒ yang menjadikan layanan menjadi satu kesatuan sehingga jika ada perubahan maka akan berefek ke layanan lainnya.

Hal tersebut tidak terjadi di aplikasi microservice karena aplikasi microservice membagi layanan-layanan menjadi ukuran yang kecil sehingga jika ada perubahan maka tidak akan berefek ke layanan lainnya, tetapi hanya layanan yang diubah akan berefek terhadap perubahan tersebut.

Pada tutorial kali ini kita akan membuat aplikasi microservice sederhana dengan studi kasus aplikasi inventaris.

Persiapan

Untuk dapat mempraktikkan tutorial ini, berikut adalah resources yang dibutuhkan:

Resources Versi
Apache NetBeans 12.1

Inisialisasi

  1. Buka Apache NetBeans dan buat New Project

  2. Pilih Java with Maven > Spring Boot Initializr Project > Klik Next img

  3. Selanjutnya lengkapi data seperti berikut lalu klik next img

  4. Setalah itu, ceklis Spring Web dan klik next img

  5. Berikutnya isikan Project Name dan klik finish img

Pembuatan Microservice

  1. Buka file MicroserviceApplication.java yang terletak di Source Packages > com.example.microservice.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     package com.example.microservice;
    
     import org.springframework.boot.SpringApplication;
     import org.springframework.boot.autoconfigure.SpringBootApplication;
    
     @SpringBootApplication
     public class MicroserviceApplication {
            
         public static void main(String[] args) {
             SpringApplication.run(MicroserviceApplication.class, args);
         }
     }
    

    Coba perhatikan di situ terdapat anotasi @SpringBootApplication sebagai penanda configuration class untuk mengaktifkan fitur seperti Spring Boot auto-configuration.

  2. Sekarang buat class baru yang bernama Inventaris di dalam package com.example.microservice.

    img

  3. Setelah itu buat variabel-variabel berikut di dalam class Inventaris

    1
    2
    3
    4
    
     int id;
     String nama;
     int harga;
     int jumlah;
    
  4. Selanjutnya buat konstruktor dan getter setter dengan cara tekan Alt+Ins dan pilih semua field lalu klik Generate sehingga keseluruhan kodenya adalah sebagai berikut.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    
     package com.example.microservice;
    
     public class Inventaris {
         int id;
         String nama;
         int harga;
         int jumlah;
    
         public int getId() {
             return id;
         }
    
         public void setId(int id) {
             this.id = id;
         }
    
         public String getNama() {
             return nama;
         }
    
         public void setNama(String nama) {
             this.nama = nama;
         }
    
         public int getHarga() {
             return harga;
         }
    
         public void setHarga(int harga) {
             this.harga = harga;
         }
    
         public int getJumlah() {
             return jumlah;
         }
    
         public void setJumlah(int jumlah) {
             this.jumlah = jumlah;
         }
            
         public Inventaris(int id, String nama, int harga, int jumlah) {
             this.id = id;
             this.nama = nama;
             this.harga = harga;
             this.jumlah = jumlah;
         }
     }
    
  5. Sebelum membuat kelas controller, kita akan membuat kelas DataDummy untuk menyuplai data yang akan digunakan di kelas controller.

    img

  6. Selanjutnya buat method generateDummyData() sehingga keseluruhan kode dari kelas DataDummy sebagai berikut.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
     package com.example.microservice;
    
     import java.util.ArrayList;
     import java.util.List;
    
     public class DataDummy {
            
         public List<Inventaris> generateDummyData() {
             List<Inventaris> inventaris = new ArrayList<>();
                
             inventaris.add(new Inventaris(0, "pensil", 2500, 50));
             inventaris.add(new Inventaris(1, "penghapus", 1000, 25));
             inventaris.add(new Inventaris(2, "penggaris", 7000, 25));
             inventaris.add(new Inventaris(3, "buku", 5000, 75));
             return inventaris;
         }
     }
    
  7. Berikutnya buat class baru dengan nama InventarisController yang berguna untuk mendaftarkan mapping dari url endpoint.

    img

  8. Setelah itu tambahkan anotasi @RestController di atas deklarasi class InventarisController yang berguna untuk membuat Restful controller.

    1
    2
    3
    4
    
     @RestController
     public class InventarisController {
            
     }
    
  9. Lalu buat method getInventaris() dengan anotasi @GetMapping("/inventaris") sebagai endpoint seperti berikut.

    1
    2
    3
    4
    5
    
     @GetMapping("/inventaris")
     public List<Inventaris> getInventaris() {
         DataDummy dummy = new DataDummy();
         return dummy.generateDummyData();
     }
    
  10. Buat lagi method getItemInventaris() dengan anotasi @GetMapping("/inventaris/{id}") untuk mendapatkan salah satu item dari inventaris sehingga keseluruhan kode dari kelas InventarisController seperti berikut.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    package com.example.microservice;
    
    import java.util.List;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class InventarisController {
            
        @GetMapping("/inventaris")
        public List<Inventaris> getInventaris() {
            DataDummy dummy = new DataDummy();
            return dummy.generateDummyData();
        }
            
        @GetMapping("/inventaris/{id}")
        public Inventaris getItemInventoris(@PathVariable int id) {
            DataDummy dummy = new DataDummy();
            return dummy.generateDummyData().get(id);
        }
    }
    
  11. Berikutnya mari jalankan aplikasi dengan menekan F6 sehingga keluar output berikut.

    img

  12. Buka http://localhost:8080/inventaris dan akan menghasilkan output berupa JSON seperti berikut.

    img

  13. Cobalah masukkan id 1 ke dalam url seperti http://localhost:8080/inventaris/1 dan akan menghasilkan output berupa JSON seperti berikut.

    img

Selesai

Selesai sudah pembahasan kita kali ini, dengan ini kamu telah membuat sebuah microservice inventaris sederhana dengan Spring Boot di Apache NetBeans.

Bagaimana pengalamanmu dalam dalam membuat microservice dengan Spring Boot di Apache NetBeans? Yuk! Ceritakan pengalamanmu di kolom komentar :)

Share this post:


Tags Other Articles Cara Mudah Me-rename Branch Local dan Remote Git Tutorial Membuat Form Login dan Register dengan Session di PHP