hiérarchie Je suis en train de construire un service de repos qui a une large couverture de données de données sportives (résultats/équipement/équipes/joueurs/ligues, etc.) et les statistiques associées.nommant des conseils
Venir avec une hiérarchie URI appropriée m'a faire le tour au moment en rond. Par exemple, je pourrais mettre en œuvre ...
1) i) version/sport/ligue/saison/entité
1) ii) Version/entité/sport/ligue/saison
1) iii) Version/sport/entité/ligue/saison
Un exemple rend les choses un peu plus clair (je l'espère) ...
Prenez une requête qui est de retourner tous les joueurs de football qui jouent dans la Premier League la saison 2010/2011 ...
2) i) 1.1/football/premier_league/2010_2011 fr/joueurs
2) ii) a) 1.1/joueurs/Football // premier_league/ 2010_2011 fr
Mais pas tous (sports les courses de chevaux - cheval et jockey, F1 etc.) ont vraiment des joueurs, alors les joueurs devraient-ils venir après le sport?2) ii) b) 1.1/chevaux/horse_racing/gold_cup/2010
2) iii) a) 1,1/foot/joueurs/premier_league/2010_2011
2) iii) b) 1.1/horse_racing/chevaux/gold_cup/2010
Plus exemple ci-dessous ... URIs
1.1/joueurs/Football/premier_league/2010_2011/équipes/{id}
joueurs retours en équipe pour la saison?
1.1/joueurs/Football/premier_league joueurs retours dans la ligue de premier plan?
1.1/résultats/football/premier_league/2010_2011/équipes/{id} renvoie les résultats de la saison de l'équipe?
aussi j'envisage des requêtes telles que ...
1.1/Football/premier_league/2010_2011 fr/Novembre/équipes/{id}/Résultats
avec le mois agissant en tant que paramètre pour limiter le résultat ensemble.
Si le service devait inclure des entités non sportives, dites élections politiques ... il n'y aurait pas de joueurs ...
1.1/élections/2012/partis/{id}/résultats
renvoie les résultats pour le parti politique
1.1/élections/2012/partis/{id}/candidats renvoie les candidats associé à la partie
ou 1.1/résultats/élections/2012/partis/{id} renvoie les résultats pour le parti politique
1.1/candidats/élections/2012/partis/{id} renvoie les candidats associés à la partie
Tous les conseils sur la hiérarchie qui est mieux? J'ai essayé de rechercher ce site et google, mais les exemples que j'ai trouvés n'ont couvert que des cas triviaux. Je pense que je préfère l'exemple 2-iii.
Merci d'avance.
Darrel, merci pour la réponse détaillée, très utile - point pris sur le numéro de version, je vais le mettre au rebut. – Will
Darrel, pouvez-vous expliquer pourquoi le numéro de version ne devrait pas être dans l'URI? (Où devrait-il être, alors?) –
@Josh Ici http://stackoverflow.com/questions/972226/how-to-version-rest-uris/975394#975394 est ma réponse à cette question. –