ฉันกำลังออกแบบเว็บแอปจากนั้นก็หยุดคิดว่าควรจะออกแบบ 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