Bonjour à tous,
J'ai actuellement un projet qui utilise Web API pour fournir des services. J'aimerais la modifier pour gérer le versioning. J'ai donc épluché mon meilleur ami Google et je tombe sur plusieurs blogs qui traitent ce point mais j'ai du mal à faire un choix. De ce que j'ai pu voir, il y a 3 solutions, définir la version dans :
- le header (champ custom ou non ?)
- une partie de l'url (par exemple : /api/v1/Book/GetAll
- query parameter (par exemple /api/Book/GetAll?v=1)
Je trouve la dernière solution "dégueulasse" pour pas mâcher mes mots car visuellement c'est moche, de plus ça signifie qu'il faut que je rajoute l'élément "v" à chacune de mes méthodes déjà existante, donc modifier tout et renseigner ce champ à chaque fois.
J'ai tendance à choisir dans le header car je trouve ça propre et ça ne casse pas les URLs (existantes ou futures).
Mais je trouve que la solution dans l'url est pas mal pour tester les services rapidement dans le navigateur.
Quelle solution choisir et pourquoi ?
Merci par avance.
Partager