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 /logout
Gerçekten bilmiyorum, belki bu yana, GET
bir şey - bu daha uygun olabilir POST
isteği /logout
, daha sonra oturumu imha ve GET
yönlendirme. Ve /logout
terim kalmalı mı?
Peki ya /login
ve /register
. Ben değişebilir /register
için /registration
ama bu benim hizmet temel işleyiş şeklini değiştirmez - bu daha derin sorunları vardır eğer.
Bir /user
kaynağı 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