Lewati ke konten utama

Endpoint

Menggunakan kata jamak untuk penamaan resource seperti users, roles, settings, transactions dan lain-lain. Hindari menggunakan camel case (getUsers) dan snake case (get_users).

Jangan pernah menggunakan nama fungsi CRUD dalam URI

Kita tidak boleh menggunakan URI untuk menunjukkan fungsi CRUD. URI hanya boleh digunakan untuk mengidentifikasi sumber daya dan bukan untuk tindakan unik apa pun terhadapnya. Harus menggunakan method HTTP untuk menunjukkan fungsi CRUD mana yang dijalankan.

MethodEndpointDescription
GET/usersMengambil semua data user
GET/users/1Mengambil data user dengan id 1
POST/usersMembuat user baru
PUT/users/1Mengubah seluruh data user id 1
PATCH/users/1Mengubah sebagian data user id 1
DELETE/users/1Menghapus data user id 1

Gunakan komponen query untuk memfilter koleksi URI

Query digunakan untuk mengolah sumber daya yang diurutkan, difilter, atau dibatasi berdasarkan atribut sumber daya tertentu. Dalam hal ini, jangan membuat API baru – sebagai gantinya, gunakan requirement pengurutan, pemfilteran, dan penomoran halaman di API koleksi sumber daya dan teruskan parameter input sebagai parameter kueri.

Example
- /orders?payment_status=pending
- /users?sort_by=date&sort_method=asc

Gunakan requirement/action sebagai pengganti endpoint baru

Gunakan requirement category/status atau apapun yang sesuai dengan pengkategorian data tanpa membuat endpoint baru.

Example
- /participants/resend-email-payment-success/1
- /participants/resend-email-payment-reject/1
- /participants/resend-email-submission/1

Status kategori, tipe ataupun hal yang membedakan dalam action bisa dibuat sebagai query parameter, sehingga cukup satu endpoint saja. Contoh Perubahan : payment -> category , success/reject -> status, submission -> category

Example
- /participants/1/resend-email/{category}/{status}

Reference : https://restfulapi.net/resource-naming/