À propos du projet

Swagger Codegen transforme les descriptions d'API OpenAPI ou Swagger en bibliothèques clientes générées, stubs serveur, documentation d'API et artefacts de support. Les branches 2.x et 3.x sont maintenues indépendamment et utilisent des identifiants de groupe Maven différents ; la prise en charge d'OpenAPI 3.0.x est disponible uniquement dans la branche 3.x. Le README indique la version 3.0.71 comme version stable actuelle de la branche 3.x pour les spécifications 1.0 à 3.0, et la version 2.4.46 comme version stable actuelle de la branche 2.x pour les spécifications 1.0 à 2.0. Les sorties prises en charge couvrent les clients API pour des langages tels que Java, Python, JavaScript/TypeScript, Go, C#, PHP, Ruby, Swift, Kotlin, Rust et bien d'autres ; les stubs serveur pour des frameworks notamment Spring, JAX-RS, ASP.NET Core, Go, Flask, Node.js, Rails et les frameworks Scala ; ainsi que la documentation HTML, HTML dynamique et Confluence Wiki. Il peut également générer une configuration Apache2 et des sorties liées à JMeter. L'interface principale est une CLI Java. Une commande type utilise une spécification d'entrée, un langage ou framework cible, et un répertoire de sortie. La CLI fournit une aide générale à la génération et une aide de configuration spécifique au langage, tandis que les fichiers de configuration, les modèles personnalisés, les mappages de types, les mappages d'import et la génération sélective permettent d'adapter la sortie générée. La sortie HTML dynamique peut être servie via l'exemple Node.js inclus, tandis que la sortie HTML statique produit un simple fichier HTML autonome. Le projet documente la compilation avec Maven, l'utilisation de Docker et l'intégration de la génération dans des workflows Maven, Gradle et basés sur GitHub. Des générateurs en ligne sont également référencés pour les utilisateurs qui ne souhaitent pas exécuter leur propre instance. Pour la validation des spécifications, le README renvoie vers un validateur Swagger en ligne et vers Spectral pour la validation locale. Une note de sécurité avertit que les spécifications provenant de sources non fiables doivent être examinées avant la génération, car une injection de code peut survenir. Les modèles du projet sont couverts par la licence du dépôt, mais le code généré est destiné à être tel quel (AS IS), appartient à l'utilisateur et n'est pas soumis à la licence du projet parent.