2010-10-31 7 views
3

Je souhaite créer un site Web qui suit l'architecture RESTful. Sur mon site, chaque utilisateur est identifié par un nom d'utilisateur permanent et peut gérer ses propres paramètres. Pour la ressource de paramètres, je suis déchiré entre deux conceptions d'URI.Bonne conception d'URI pour les ressources spécifiques à l'utilisateur enregistrées

Option 1:/users/{nom d'utilisateur}/paramètres

Voici un générique paramètres modèle d'URL des ressources. Seul l'utilisateur connecté peut faire un GET/PUT à sa ressource de paramètres spécifiques. C'est assez compliqué cependant, car d'autres ressources spécifiques à l'utilisateur doivent suivre cette piste. Il permet de simplifier les authentifications administratives qui ont accès à tous les paramètres de tous les utilisateurs (ou du moins à une partie de ceux-ci).

Option 2:// mes paramètres

L'URL pour les paramètres des ressources de l'utilisateur connecté. C'est une programmation beaucoup plus simple, mais l'URL ne précise pas vraiment la ressource en question. La partie '/ my' devient un alias de '/ users/{username}'.

Presque tous les sites Web suivent une approche similaire à l'option 2. Qu'en pensez-vous?

Répondre

2

Pourquoi ne pas avoir les deux? Votre/my peut être juste une redirection vers/users/{myusername}/ De cette façon, vous pouvez utiliser/my dans l'interface utilisateur, mais vos utilisateurs admin peuvent modifier chaque paramètre utilisateur via le contrôleur/users/{username} réel

+0

J'aime ça. C'est définitivement le meilleur des deux mondes. –

+0

Est-ce mieux comme une redirection? Je pourrais l'implémenter en tant qu'alias, avec une URL canonique spécifiée sous l'en-tête Content-Location de la réponse. – jvliwanag

Questions connexes