Je concevons une API de repos pour une application Web. Je veux clairement la version de l'API, de sorte que l'interface puisse être modifiée à l'avenir sans casser les services existants. Donc, dans mon API V1.0, je veux l'identifier clairement comme l'API V1.0, me laissant la liberté de libérer une future version v1.1 avec des modifications de rupture. P>
Ma question est, une période dans la composante PATH d'une URI soit-elle une mauvaise pratique? p>
par exemple. Y a-t-il une bonne raison de ne pas utiliser http://example.com/myapi/v1.0/services comme une URI à mon service? P>
5 Réponses :
Je pense que c'est une bonne idée. J'ai vu plusieurs services de repos qui font cela. P>
Il est parfaitement acceptable d'utiliser une période dans un chemin d'urion. Il est également valide selon RFC 3986 Section 2.3 . P>
C'est un caractère de chemin parfaitement valide, voir page 27 de la spécification http: // www. ietf.org/rfc/rfc2396.txt p>
aucune raison de ne pas l'utiliser p>
Mettre une période dans l'URI est parfaitement bien. Mettre un numéro de version dans une URI n'est définitivement pas une meilleure pratique. p>
ici sont mes raisons pour lesquelles et ICI est un bon article sur le sujet par une personne beaucoup plus intelligente que moi. P>
Merci encore darren. Via votre lien, la réponse de Shonzilla à cette question: Stackoverflow.com / Questions / 389169 / ... m'a convaincu que le versement est probablement une mauvaise idée. Une préoccupation que j'ai, c'est si un client non navigateur, par ex. Un site Web PHP consommant mon service gérera une redirection HTTP, si je devais utiliser cette approche pour manipuler des changements de rupture?
Je pense différemment des autres ... Je ne pense pas que ce soit une bonne pratique de l'utiliser sur l'URL. P>
IMHO C'est bien mieux que votre version sur l'en-tête de type contenu. P>
Par exemple, si vous utilisez Application / XML: P>
Type de contenu: Application / V1.0 + XML. P>
Utilisation du type de contenu, il indique également que la ressource elle-même est en version version. Pendant que si vous l'utilisez sur l'URL, il semble que vous soyez en version de service (ce qui ne semble pas l'être), et si vous changez le service lui-même, vous modifierez probablement l'URL. Vous n'avez donc pas besoin de la version. nombre. p>
Edit: Vous devez également l'utiliser sur l'en-tête Accepter, non seulement sur le type de contenu. P>
Regarder de plus près la question et les réponses. La plupart des réponses font référence à l'utilisation d'une période de l'URL, rien à voir avec les versions. J'ai apporté cela, mais ce n'était pas la question initiale.