REST (Representative State Transfer) adalah sebuah teknologi yang memungkinkan komunikasi berbasis web dengan protokol yang digunakan biasanya adalah HTTP (Hypertext Transfer Protocol) dan REST pertamakali diperkenalkan pada tahun 2000 oleh Roy Fielding.
Pada artikel ini penulis akan memberikan informasi mengenai panduan singkat membuat REST yang baik yang sesuai dengan standar internasional
Photo by Severin Höin on Unsplash
Endpoint gunakanlah Kata Benda Jamak (Plural)
/products (mengembalikan list product)
/products/1 (mengembalikan product dengan Id )
dan jangan menggunakan kata kerja
/getAllProducts
/getAllProductsByCategory/1
Gunakan HTTP Method yang benar
Method-method standar yang biasa digunakan yaitu :
GET — Untuk mendapatkan data
POST — Untuk menginput data baru
PUT — Untuk memanipulasi Data
DELETE — Untuk menghapus Data
GET hanya untuk mengambil data, jangan gunakan untuk memanipulasi data
Gunakan sub-resource untuk sebuah relasi
Kadang kita mempunyai kebutuhan sebagai berikut, akan menampilkan semua data comment dari 1 postingan, nah untuk kebutuhan sebagai berikut baiknya standar nya sebagai berikut
/posts/1/comments (mengeluarkan data comment dari data post ID 1)
/posts/1/comments/2 (mengeluarkan data comment dengan ID 2)
Menggunakan Parameter
Untuk kebutuhan filtering bisa menggunakan parameter dengan standar berikut
/products?categoryName='AX' (mengeluarkan data products dengan kategory 'AX')
Menggunakan Paging
Khususnya dalam menggunakan method GET, untuk jumlah data yang besar kita bisa mengeluarkan data berdasarkan limit data (Paging)
/products?limit=20 (mengeluarkan 20 data product)
Pengurutan Data
Disamping paging, kadang kita juga perlu untuk mengurutkan data berdasarkan request dari client
/products?sort=updated_at (Mengeluarkan data berdasarkan dari yang update terbaru )
HTTP Code
Berikut adalah List kode yang biasanya digunakan dalam REST
200 — Untuk menunjukan operasi yang direquest berhasil di proses
201 CREATED — Menunjukan operasi yang dilakukan berhasil membuat resource baru
400 BAD REQUEST — Biasanya kode error yang menunjukan dari sisi client misalkan client salah menginput data
403 FORBIDDEN — Response dari client misalnya client mengakses endpoint yang menyertakan Authorization tapi tidak mengirim kan token
401 NOT FOUND- Reponse yang menunjukan sumber yang direquest tidak tersedia
500 INTERNAL SERVER ERROR — terjadi kesalahan / error dari sisi server
Gunakan Versioning
Penggunakan versi API sangatlah penting, apalagi diperusahaan yang banyak menggunakan versi API.
/v1/products
/v2/products
Response Success
Sobat bisa menggunakan format standar berikut sebagai format response yang sukses
{
"status": "success",
"data":
},
"message": null
}
Error Response
{
"status": "error",
"data": null,
"message": "message error",
"errorCode":401
}
Did you find this article valuable?
Support Teten Nugraha by becoming a sponsor. Any amount is appreciated!