Bir web uygulaması tasarlıyordum ve sonra api'min bir RESTful web hizmeti olarak nasıl tasarlanması gerektiğini düşünmeye başladım. Şimdilik, URI'lerimin çoğu geneldir ve çeşitli web uygulamaları için geçerli olabilir:
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 ve google'da dolaştıktan sonra burada çok yanlış yaptığımı hissediyorum.
İle başlayarak /logoutGerçekten bilmiyorum, belki bu yana, GETbir şey - bu daha uygun olabilir POSTisteği /logout, daha sonra oturumu imha ve GETyönlendirme. Ve /logoutterim kalmalı mı?
Peki ya /loginve /register. Ben değişebilir /registeriçin /registrationama bu benim hizmet temel işleyiş şeklini değiştirmez - bu daha derin sorunları vardır eğer.
Bir /userkaynağı asla ifşa etmediğimi şimdi fark ediyorum . Belki bu bir şekilde kullanılabilir. Örneğin, kullanıcıyı alın myUser:
foo.com/user/myUser
veya
foo.com/user
Son kullanıcı, URI'de bu ekstra ayrıntıya ihtiyaç duymaz. Ancak görsel olarak hangisi daha çekici?
SO'da bu REST işi hakkında başka soruları da fark ettim, ancak mümkünse burada ortaya koyduğum şey hakkında biraz rehberlik yapmaktan gerçekten memnun olurum.
Teşekkürler!
GÜNCELLEME:
Ayrıca şu konularda da fikir almak istiyorum:
/user/1
vs
/user/myUserName