Sebuah URI resource sebaiknya terbaca seperti path berbasis kata benda menuju sebuah objek, bukan sebuah aksi. HTTP method sudah menyediakan kata kerjanya, jadi URI hanya perlu mengidentifikasi resource dengan jelas dan konsisten.
Sebuah URI resource sebaiknya terbaca seperti path berbasis kata benda menuju sebuah objek, bukan sebuah aksi. HTTP method sudah menyediakan kata kerjanya, jadi URI hanya perlu mengidentifikasi resource dengan jelas dan konsisten.
GET /users/42 — bukan GET /getUser?id=42. Method (GET) adalah kata kerjanya./users adalah collection-nya; /users/42 adalah satu anggota. Tetap jamak di mana-mana membuatnya dapat diprediksi./users/42/orders = "order milik user 42".kebab-case, huruf kecil. /blog-posts, bukan /blogPosts atau /Blog_Posts./users?role=admin&sort=-created_at./users collection of users
/users/42 a single user
/users/42/orders orders belonging to user 42 (sub-collection)
/users/42/orders/1001 a specific order of that user
/orders/1001 same order, addressable at top level too
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
Hindari nesting dalam melebihi satu atau dua level — /users/42/orders/1001/items/5/reviews menjadi rapuh. Begitu sebuah order punya ID sendiri, lebih baik /orders/1001. Untuk aksi yang tidak cocok dengan CRUD (mis. "kirim email"), sub-resource bergaya controller dapat diterima: POST /users/42/verify-email.
Penamaan yang konsisten adalah yang membuat sebuah API terasa intuitif — developer yang telah melihat /users dan /users/42 bisa menebak dengan benar /products dan /products/99 tanpa membaca dokumentasi. Pewawancara memakai ini untuk menilai apakah Anda berpikir dalam resource (pola pikir REST) alih-alih RPC call (/doThisThing). Anti-pattern yang paling umum — kata kerja di path, pluralisasi yang tidak konsisten, dan URL yang bersarang dalam — semuanya membuat sebuah API lebih sulit dipelajari dan dipelihara, dan menandakan developer yang belum menginternalisasi constraint uniform-interface milik REST. Desain URI yang baik juga menjaga pemisahan concern: identitas di path, filtering dan pagination di query string, yang menjaga caching dan routing tetap bersih.
Perpustakaan pertanyaan wawancara IT dengan jawaban mendetail — dari Junior hingga Senior.
Donasi