Dasar Pengembangan REST API

Aturan dasar pengembangan RESTful API

Andruw
3 min readJun 29, 2021
Photo by Mohammad Rahmani on Unsplash

Halo apa kabar, semoga semua dalam keadaan baik ya. Kali ini kita akan sedikit belajar tentang beberapa aturan dasar dalam pengembangan REST API. Untuk pengertian dari API dan REST tidak akan dibahas di sini.

Pembahasan kali ini akan meliputi versioning, http method, http response status code dan resource naming. Mari kita mulai.

Versioning / Pemberian Versi

Dalam pembuatan API disarankan untuk menyertakan prefix versi dari API tersebut. Salah satu tujuannya adalah agar ketika API dikembangkan kembali bisa menggunakan route baru dengan prefix versioning baru, sehingga tidak akan mengganggu client apps yang sedang menggunakannya.

Ada beberapa format dalam penulisan versioning ini, salah satunya adalah sebagai berikut :

/v1.1/route-path/:resourceId

Contoh dari penerapan format di atas adalah sebagai berikut :

/v1.1/products/21

HTTP Method dan CRUD Method

Berikutnya adalah, perlu diketahui juga http method apa yang digunakan untuk sebuah proses CRUD melalui API. Berikut adalah http method yang biasanya digunakan untuk kebutuhan CRUD dasar.

  1. POST — CREATE

Method POST biasa digunakan untuk melakukan request untuk membuat resource baru. Method POST ini biasanya akan diarahkan kepada method create pada Controller.

2. GET — SHOW / INDEX

Method GET biasa digunakan untuk melakukan request untuk mengambil atau menampilkan resource. Resource yang ditampilkan atau diambil bisa hanya satu atau semuanya yang ada (indexing). Method GET ini akan diarahkan kepada Controller pada bagian method show untuk menampilan sebuah resource atau method index untuk menampilkan banyak resource.

3. PUT — UPDATE (all)

Method PUT biasa digunakan untuk melakukan request untuk melakukan perubahan pada semua elemen dari suatu resource, kecuali bagian Id atau primary key dari resource tersebut. Method GET ini akan diarahkan kepada method update pada Controller.

4. PATCH — UPDATE (partial)

Method PATCH memiliki fungsi yang hampir sama dengan method PUT. Bedanya adalah, method PATCH digunakan untuk melakukan perubahan pada beberapa atau salah satu elemen dari suatu resource. Method PATCH ini juga akan diarahkan kepada method update pada Controller.

5. DELETE — DESTROY

Method DELETE biasa digunakan untuk melakukan request untuk menghapus resource. Method DELETE ini biasanya akan diarahkan kepada method destroy pada Controller.

HTTP Response Code

Selanjutnya, kita akan belajar mengenai http response status code atau kode respon yang diberikan oleh API endpoint.

Berikut adalah success response status code yang biasa digunakan sesuai dengan http method dalam melakukan request terhadap resource.

  • POST — CREATED ( 201 )
  • GET — OK ( 200 )
  • PUT / PATCH — OK ( 200)
  • DELETE — NO CONTENT ( 204 )

Resource Naming

Pada bagian ini, kita akan belajar tentang aturan pemberian nama untuk setiap route yang merepresentasikan resource yang ada di dalamnya. Beberapa aturan dasarnya adalah sebagai berikut :

  • Penggunakan kata benda (nouns) dalam bentuk jamak / plural
  • Hindari menggunakan kata kerja, dan hanya menggunakan kata benda (noun)
  • Routing path ditulis dalam format penulisan kebab-case
  • Resource Identifier (Id, slug, etc) dalam format penulisan camelCase

Penutup

RESTful API sebenarnya memberikan kebebasan atau fleksibilitas kepada pengembangnya. Namun tanpa adanya aturan dasar yang diterapkan sesuai dengan kebutuhan, maka justru akan menyulitkan pengembangan API tersebut di kemudian hari. Semoga saja hasil dokumentasi ringan ini bermanfaat, dan sampai jumpa di tulisan berikutnya. Salam.

--

--

Andruw
Andruw

Written by Andruw

PHP/Laravel Developer | Web Tech Enthusiast

No responses yet