Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 12, 2026·3 min de lecture

Swagger Codegen — Generate API Client Libraries from OpenAPI Definitions

Swagger Codegen reads OpenAPI 2.0 and 3.x specification files and generates client SDKs, server stubs, and API documentation in over 40 languages and frameworks automatically.

Prêt pour agents

Staging sûr pour cet actif

Cet actif est d'abord staged. Le prompt copié demande à l'agent d'inspecter les fichiers staged avant d'activer scripts, config MCP ou config globale.

Stage only · 29/100Policy : staging
Surface agent
Tout agent MCP/CLI
Type
CLI Tool
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Swagger Codegen
Commande de staging sûr
npx -y tokrepo@latest install 7d67de0b-7def-11f1-9bc6-00163e2b0d79 --target codex

Stage les fichiers d'abord; l'activation exige la revue du README et du plan staged.

Introduction

Swagger Codegen automates the creation of API client libraries, server stubs, and documentation from OpenAPI (formerly Swagger) specification files. It eliminates the tedious work of hand-writing HTTP clients and server boilerplate, letting teams focus on business logic while maintaining consistent API contracts across services.

What Swagger Codegen Does

  • Generates client SDKs in 40+ languages including Java, Python, TypeScript, Go, Ruby, C#, and Swift
  • Produces server stubs for frameworks like Spring Boot, Flask, Express, and ASP.NET
  • Creates interactive API documentation from spec files
  • Supports both OpenAPI 2.0 (Swagger) and OpenAPI 3.x specifications
  • Provides a CLI, Maven plugin, and Docker image for integration into any workflow

Architecture Overview

Swagger Codegen parses an OpenAPI specification into an internal model, then applies language-specific Mustache templates to produce source code. Each language generator defines its own template set, type mappings, and file structure. Users can override individual templates or create entirely custom generators by extending the base codegen classes.

Self-Hosting & Configuration

  • Run directly via JAR: java -jar swagger-codegen-cli.jar generate -i spec.yaml -l java -o ./out
  • Available as a Docker image for CI pipelines: docker run swaggerapi/swagger-codegen-cli generate ...
  • Customize output with a JSON config file passed via -c config.json to control package names, base paths, and library choices
  • Override default templates with -t /path/to/templates for full control over generated code style
  • Integrate into Maven or Gradle builds with the official plugin for automatic regeneration on spec changes

Key Features

  • Broad language coverage with 40+ officially maintained generators
  • Template-driven architecture allows full customization of generated output
  • Supports generating models-only, APIs-only, or both together
  • Built-in support for authentication schemes (OAuth2, API key, Basic)
  • Active maintenance with regular releases and community contributions

Comparison with Similar Tools

  • OpenAPI Generator — Community fork with more generators and faster release cadence; Swagger Codegen remains the original project with stable, well-tested output
  • NSwag — Focused on .NET ecosystem with tighter C#/TypeScript integration
  • AutoRest — Microsoft's generator optimized for Azure API patterns
  • Orval — TypeScript-first with React Query and Zod integration
  • oapi-codegen — Lightweight Go-specific generator producing idiomatic Go code

FAQ

Q: What is the difference between Swagger Codegen and OpenAPI Generator? A: OpenAPI Generator was forked from Swagger Codegen 2.x in 2018. Both read OpenAPI specs and generate code, but they have diverged in generator count, template style, and release process. Choose based on your language needs and preferred community.

Q: Can I use Swagger Codegen with OpenAPI 3.1? A: Swagger Codegen 3.x supports OpenAPI 3.0. For 3.1 support, check the latest release notes or consider OpenAPI Generator which added 3.1 support earlier.

Q: How do I customize the generated code? A: Export the default templates with swagger-codegen config-help -l <lang>, modify the Mustache files, and pass them back with the -t flag.

Q: Does it support generating only models without API classes? A: Yes, use --model-package with --generate-models true --generate-apis false to produce only data transfer objects.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires