ฉันกำลังออกแบบเว็บแอปจากนั้นก็หยุดคิดว่าควรจะออกแบบ api ของฉันให้เป็นบริการเว็บที่น่าสนใจ สำหรับตอนนี้ URI ส่วนใหญ่ของฉันเป็นแบบทั่วไปและอาจใช้กับเว็บแอปต่างๆ:
GET /logout // destroys session and redirects to /
GET /login // gets the webpage that has the login form
POST /login // authenticates credentials against database and either redirects home with a new session or redirects back to /login
GET /register // gets the webpage that has the registration form
POST /register // records the entered information into database as a new /user/xxx
GET /user/xxx // gets and renders current user data in a profile view
POST /user/xxx // updates new information about user
ฉันรู้สึกว่าฉันทำอะไรผิดมากที่นี่หลังจากจิ้ม SO และ google
เริ่มต้นด้วย/logoutบางทีเนื่องจากฉันไม่ได้ทำGETอะไรเลย - มันอาจจะเหมาะสมกว่าสำหรับPOSTการร้องขอเพื่อ/logoutทำลายเซสชันแล้วGETเปลี่ยนเส้นทาง และ/logoutระยะควรอยู่หรือไม่
เกี่ยวกับอะไร/loginและ/register. ฉันสามารถเปลี่ยน/registerเป็นได้/registrationแต่นั่นไม่ได้เปลี่ยนแปลงวิธีการทำงานพื้นฐานของบริการของฉันหากมีปัญหาที่ลึกซึ้งกว่านั้น
ฉันสังเกตว่าตอนนี้ฉันไม่เคยเปิดเผย/userทรัพยากร บางทีอาจจะใช้ประโยชน์ได้ ตัวอย่างเช่นรับผู้ใช้myUser:
foo.com/user/myUser
หรือ
foo.com/user
ผู้ใช้ปลายทางไม่ต้องการคำฟุ่มเฟือยเพิ่มเติมใน URI อย่างไรก็ตามอันไหนดึงดูดสายตามากกว่ากัน?
ฉันสังเกตเห็นคำถามอื่น ๆ เกี่ยวกับ SO เกี่ยวกับธุรกิจ REST นี้ แต่ฉันอยากจะขอบคุณคำแนะนำบางอย่างเกี่ยวกับสิ่งที่ฉันได้ระบุไว้ที่นี่ถ้าเป็นไปได้
ขอบคุณ!
UPDATE:
ฉันต้องการความคิดเห็นเกี่ยวกับ:
/user/1
VS
/user/myUserName