J'ai été la conception d'une web app, puis arrêté de penser à la façon dont mon api doit être conçu comme un service web RESTful. Pour l'instant, la plupart de mes URI sont génériques et peuvent s'appliquer à diverses applications web:
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
J'ai le sentiment que je suis en train de faire beaucoup de mal ici, après avoir farfouillé sur DONC et google.
En commençant par /logout
, peut-être parce que je n'ai pas vraiment GET
rien - c'est peut-être plus approprié d' POST
une demande d' /logout
, détruire la session, puis GET
de la redirection. Et si l' /logout
durée du séjour?
Qu'en /login
et /register
. Je pourrais changer de /register
de /registration
mais qui n'altère pas comment mon service fonctionne - s'il a des questions plus profondes.
Je remarque maintenant que je n'exposez jamais une /user
des ressources. Cela pourrait peut-être être utilisé en quelque sorte. Par exemple, l'utilisateur myUser
:
foo.com/user/myUser
ou
foo.com/user
L'utilisateur final n'a pas besoin de ce surplus de verbosité dans l'URI. Cependant, ce qui est le plus attrayant visuellement?
J'ai remarqué que certains d'autres questions sur ce sujet RESTE d'entreprise, mais je voudrais vraiment l'apprécier quelques conseils sur ce que j'ai écrit ici si possible.
Merci!
Mise à JOUR:
Je voudrais aussi quelques avis sur:
/user/1
vs
/user/myUserName