Comment générer client C# à partir de Swagger 1.2 spec?
Il semble y avoir des millions d'options pour chaque plate-forme, mais j'ai du mal à trouver une solution simple pour C#. Tous ceux que j'ai trouvés semblent m'ont donné des ennuis: soit ils n'ont tout simplement pas de travail (p. ex. http://swaggercodegen.azurewebsites.net/), ou uniquement en charge 2.0 (par exemple AutoRest et NSwag). La moitié de l'outils ne sont pas encore clairement quelles sont les versions qu'ils soutiennent 🙁
Je suis conscient de la outil officiel, mais qui nécessite le JDK 7, qui n'est actuellement pas une option pour moi.
En désespoir de cause, j'ai même essayé de la conversion de l'arrogance spec 2.0, mais la moitié de la conversion outils que j'ai essayé ne fonctionne pas, a donné des conseils contradictoires, ou je ne pouvais pas comprendre comment l'utiliser (je me suis retrouvé à genoux dans nodejs très vite...est-ce vraiment le meilleur des mondes?! Ramener WSDL 😉 ).
Quelle est la durée de votre 1.2 spec? Peut-être poster votre première API? Il ne devrait pas être difficile de convertir à 2.0 - je pense que c'est votre meilleur pari.
OriginalL'auteur Schneider | 2016-03-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le formulaire en ligne swagger codegen à créer des clients sans rien installer:
https://generator.swagger.io/
Vous choisissez POST /gen/clients/{langue} et entrer dans un corps comme ceci:
Mettre votre propre URL pour accéder à la spécification. Si vous avez besoin pour passer des options, vous pouvez les mettre dans le
options
de hachage. La liste des options disponibles pour le C# est également disponible à partir du générateur:https://generator.swagger.io/api/gen/clients/csharp-dotnet2
Le générateur de code prend en charge 1.0, 1.1, 1.2, 2.0 spécifications. Si le 1.2 spec est mal-formé, il peut ne pas fonctionner (il n'y a pas de validation de schéma d'abord avec 1.2). Il est basé sur le
swagger-parser
qui convertit automatiquement les spec en format 2.0, puis génère le code.pas sûr de ce qu'il fait (j'ai essayé de leur échantillon, même pas mon json), d'après le code généré, il a un lien pour télécharger le code, mais le lien mène à l'ERREUR HTTP 500 avec le message de Problème d'accès /api/gen/download/d40029be-eda6-4d62-b1ef-d05e2e91a72a. Raison: échec de la Demande.
êtes-vous sûr qu'il prend en charge 1.2? Je ne pouvais pas trouver un moyen de le faire fonctionner: { "spec": {'1.2'}, "swaggerUrl": "public.je-apis.com", }
J'ai dans l'Impossibilité de rendre cette définition La définition ne précise pas une version valide de terrain. Veuillez indiquer valide Swagger ou OpenAPI champ version. Version prise en charge des champs sont swagger: "2.0", et ceux qui correspondent à openapi: 3.0.n (par exemple, openapi: 3.0.0).
OriginalL'auteur fehguy