Anda di halaman 1dari 6

BACKEND SERVICE I

Membuat Backend Service sederhana dengan Spring Boot

Dalam pemrograman aplikasi kita mempunyai beberapa komponen, jika kita bagi menjadi
tier sebuah aplikasi, maka dapat dibagi menjadi beberapa bagian.
Untuk program sederhana kita dapat membagi menjadi 2 yaitu Front End dan Backend.
Sedangkan untuk program kompleks yang melibatkan banyak aplikasi, biasanya dibagi
menjadi 3 bagian besar yaitu Front End, Middletier dan BackEnd.

Front End biasanya berhubungan dengan User Interface. Dapat berupa desktop, web atau
mobile.
Sedangkan Back End biasanya berhubungan dengan logic aplikasi dan akses ke database.

Berikut diagram dari penjelasan diatas.

Service A
Service B Database
Service C

Frontend Backend

Berdasarkan gambar tersebut, FrondEnd membutuhkan akses agar dapat mengakses data
yang disediakan oleh Backend. Maka, selain mengatur logic sebuah program, backend juga
bertugas membuat interface agar layanan yang diberikan dapat diakses oleh FrontEnd.

Ada beberapa framework yang dapat digunakan untuk membuat sebuah aplikasi Backend.
Contohnya:
1. Java: Spring, Grails, Play
2. Node Js
3. PHP: Laravel
4. Dan lain – lain

Pada saat ini kita akan membuat Backend Service berbasis Java dengan Spring Boot.

1. Menggenerate Project
Untuk mempermudah, Spring menyediakan web Spring Initializr untuk membantu
kita menggenerate spring project. Dapat diakses di URL berikut:
https://start.spring.io/

Setelah membuka web berikut, kita dapat melakukan setting awal untuk
menggenerate project spring kita.
Contohnya
Ketika kita meng-klik tombol generate, maka akan ada file zip yang terdownload
dengan nama mahasiswa.zip.

2. Setting POM
POM (Project Object Model) merupakan sebuah file XML yang berisi informasi dan
konfigurasi dari project kita. Jika kita membuat project dengan maven maka kita
membutuhkan file ini. POM berisi versi Spring, versi Java yang digunakan, list
dependency yang dibutuhkan dalam project kita dan kebutuhan lain untuk
melakukan kompilasi.

Pada awal tadi, di web Spring Initializr telah kita masukkan 2 dependency, sehingga
di POM yang tergenerate, dependency tersebut sudah muncul. Silakan lihat file POM
pada mahasiswa.zip Anda.

3. Membuat Simple Get Service


a. Buatlah package service di bawah package mahasiswa.
b. Buatlah sebuah Java Class bernama HelloService.java di dalam package
service.
@Service
public class HelloService {

public String hello() {


return "Hello World";
}
}

4. Membuat interface
a. Buatlah package controller di bawah package mahasiswa
b. Buatlah java Class bernama HelloController.java di dalam package controller.

@RestController
public class HelloController {
@Autowired
HelloService service;

@GetMapping(value = "/hello")
public @ResponseBody
String getUser() throws Exception {
return service.hello();
}
}

5. Menjalankan code
Jalankan code dengan klik tombol run bertanda panah / play di sebelah kan atas
intellij
Kemudian buka browser dan ketik localhost:8080/hello

Ketika telah muncul halaman seperti diatas, artinya kita telah berhasil membuat
service dengan method GET yang mempunyai uri: /hello dan mengembalikan string
Hello World.

Selain method GET, berikut adalah method lain yang perlu diketahui dan sering digunakan:

HTTP
CRUD ENTIRE COLLECTION (E.G. /USERS) SPECIFIC ITEM (E.G. /USERS/123)
METHOD
201 (Created), ‘Location’ header with link to /users/{id}
POST Create Avoid using POST on single resource
containing new ID.
200 (OK), list of users. Use pagination, sorting and filtering to 200 (OK), single user. 404 (Not Found), if ID not
GET Read
navigate big lists. found or invalid.
405 (Method not allowed), unless you want to update every 200 (OK) or 204 (No Content). Use 404 (Not
PUT Update/Replace
resource in the entire collection of resource. Found), if ID not found or invalid.
Partial 405 (Method not allowed), unless you want to modify the 200 (OK) or 204 (No Content). Use 404 (Not
PATCH
Update/Modify collection itself. Found), if ID not found or invalid.
405 (Method not allowed), unless you want to delete the 200 (OK). 404 (Not Found), if ID not found or
DELETE Delete
whole collection — use with caution. invalid.

Pada function yang kita buat sebelumnya (Dengan method GET), kita membuat contoh
dengan path uri: /hello. Kita perlu mengetahui standar naming dalam pembuatan sebuah
Rest URL.

Berikut standar naming yang perlu kita ketahui:


1. Penggunaan URI dengan huruf kecil
2. Tidak menggunakan kata kerja. Gunakan kata benda, karena URI adalah singkatan
dari Uniform Resource Identifier, dia digunakan sebagai nama pengenal untuk satu
macam resource, semisal contoh lainnya adalah /mahasiswa, /merchant, dan lain –
lain.
3. Jangan menggunakan underscore ( _ )
4. Gunakan hypens ( - )
5. Gunakan slash ( / ) untuk menggambarkan hierarchical relationship
6. Jangan menggunakan file extention
7. Jangan mencantumkan method di uri seperti getUser, deleteUser
Lebih lanjut dapat dibaca pada link berikut:
https://restfulapi.net/resource-naming/
Selanjutnya, ada beberapa parameter dengan tipe tertentu yang dapat dikirimkan dalam
sebuah Http Service. Antara lain:
1. Header : digunakan untuk mengirim informasi melalui HTTP Header. Biasanya
digunakan untuk authorisasi. Contoh header: Content-Type.
Header juga dapat dibuat sendiri jika dibutuhkan. Standar namingnya: X- Nama
header dengan awalan huruf Besar. Contoh: X-User-Id.

2. Request Body : digunakan untuk mengirim dan menerima data melalui REST API

3. Path variable / template: ditempatkan di URI dengan penanda kurung kurawal ( {} ).


Contohnya: /users/{user-id}

4. Query Param : biasanya dipisah / ditandai dengan tanda tanya ( ? ) dan digunakan
untuk parameter pencarian data.

Untuk lebih lanjut, dapat dibaca di link berikut: https://rapidapi.com/blog/api-


glossary/parameters/

Anda mungkin juga menyukai