Dasar Pengembangan REST API
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.
- 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.