Saya punya pertanyaan terkait dengan desain url REST. Saya menemukan beberapa posting yang relevan di sini: Representasi RESTful yang berbeda dari resource yang sama dan di sini: RESTful url to GET resource oleh bidang yang berbeda tetapi tanggapannya tidak cukup jelas tentang apa itu praktik terbaik dan mengapa. Berikut contohnya.
Saya memiliki url REST untuk mewakili sumber daya "pengguna". Saya bisa MENDAPATKAN pengguna dengan id atau dengan alamat email tetapi representasi URL tetap sama untuk keduanya. Melalui banyak blog dan buku, saya melihat bahwa orang telah melakukan ini dengan berbagai cara. Sebagai contoh
baca praktik ini di buku dan di stackoverflow (sepertinya saya tidak dapat menemukan tautannya lagi)
GET /users/id={id}
GET /users/email={email}
baca latihan ini di banyak blog
GET /users/{id}
GET /users/email/{email}
Parameter kueri biasanya digunakan untuk memfilter hasil sumber daya yang diwakili oleh url, tetapi saya telah melihat praktik ini digunakan juga
GET /users?id={id}
GET /users?email={email}
Pertanyaan saya adalah, dari semua praktik ini, mana yang paling masuk akal bagi pengembang yang mengonsumsi api dan mengapa? Saya percaya tidak ada aturan yang ditetapkan dalam hal desain url REST dan konvensi penamaan, tapi saya hanya ingin tahu rute mana yang harus saya ambil untuk membantu pengembang lebih memahami apis.
Semua bantuan dihargai!