Je joue avec les nouvelles applications API Azure (modèle dans Visual Studio 2013 avec les nouveaux bits du SDK à partir du 24/03/15) et j'aimerais que mon groupe d'interface utilisateur Swagger m'appelle par Version #. Dans mon cas, je suis actuellement en versioning par URI (je me rends compte que les puristes de REST me diront de ne pas le faire - s'il vous plaît n'essayez pas de "corriger mon erreur" ici). Par exemple, je peux avoir ces appels:Comment obtenir Swashbuckle pour que l'interface utilisateur Swagger soit regroupée par version?
http://example.com/api/Contacts <-- "latest"
http://example.com/api/1/Contacts
http://example.com/api/2/Contacts
http://example.com/api/Contacts{id} <-- "latest"
http://example.com/api/1/Contacts/{id}
http://example.com/api/2/Contacts/{id}
Fonctionnellement, cela fonctionne très bien! (Oui, je sais que certains d'entre vous vont grincer des dents.) Désolé, cela blesse vos sentiments.) Cependant, mon problème est avec l'organisation Swagger UI. Par défaut, l'interface utilisateur Swagger les regroupe par le nom du contrôleur (Contacts
dans ce cas). Je vois dans le fichier SwaggerConfig.cs
que je peux changer ceci:
// Each operation be assigned one or more tags which are then used by consumers for various reasons.
// For example, the swagger-ui groups operations according to the first tag of each operation.
// By default, this will be controller name but you can use the "GroupActionsBy" option to
// override with any value.
//
//c.GroupActionsBy(apiDesc => apiDesc.HttpMethod.ToString());
Ce que je ne comprends pas comment je peux modifier pour grouper tous les « dernier » ensemble et ensuite tous ensemble v1 puis tous v2 ensemble, etc.
Comment est-ce que je peux faire ceci? S'il faut absolument que j'ajoute le mot "latest" (ou equiv) dans le chemin à la place du numéro de version, alors je peux le faire mais je préférerais ne pas avoir à le faire.
post-scriptum Je sais que Swashbuckle/Swagger supporte d'autres paramètres de versionnage. Si je devais travailler avec d'autres pour aider à rendre cela plus facile/possible/meilleur, veuillez le signaler. – Jaxidian