3
REST API DESIGN - รับทรัพยากรผ่าน REST ที่มีพารามิเตอร์ต่างกัน แต่มีรูปแบบ URL เดียวกัน
ฉันมีคำถามเกี่ยวกับการออกแบบ REST url ฉันพบโพสต์ที่เกี่ยวข้องบางส่วนที่นี่: การนำเสนอRESTful ที่แตกต่างกันของทรัพยากรเดียวกันและที่นี่: RESTful url to GET resource ตามช่องต่างๆแต่คำตอบยังไม่ชัดเจนว่าแนวทางปฏิบัติที่ดีที่สุดคืออะไรและเพราะเหตุใด นี่คือตัวอย่าง ฉันมี URL REST สำหรับแสดงทรัพยากร "ผู้ใช้" ฉันสามารถรับผู้ใช้ด้วยรหัสหรือที่อยู่อีเมลได้ แต่การแสดง URL ยังคงเหมือนเดิมสำหรับทั้งสองอย่าง ผ่านบล็อกและหนังสือมากมายฉันเห็นว่าผู้คนทำสิ่งนี้ในรูปแบบต่างๆมากมาย ตัวอย่างเช่น อ่านแบบฝึกหัดนี้ในหนังสือและที่ไหนสักแห่งใน stackoverflow (ดูเหมือนจะหาลิงค์ไม่เจออีกแล้ว) GET /users/id={id} GET /users/email={email} อ่านแบบฝึกหัดนี้ในบล็อกจำนวนมาก GET /users/{id} GET /users/email/{email} โดยปกติพารามิเตอร์การสืบค้นจะใช้สำหรับการกรองผลลัพธ์ของทรัพยากรที่แสดงโดย url แต่ฉันได้เห็นวิธีปฏิบัตินี้เช่นกัน GET /users?id={id} GET /users?email={email} คำถามของฉันคือจากแนวทางปฏิบัติทั้งหมดนี้ข้อใดเหมาะสมที่สุดสำหรับนักพัฒนาที่ใช้ apis และเพราะเหตุใด ฉันเชื่อว่าไม่มีกฎใด ๆ ที่กำหนดไว้ในเรื่องการออกแบบ REST …