Набор инструментов с открытым исходным кодом для OpenAPI/Swagger: интерактивная справка по API, API-клиент с приоритетом работы офлайн и интеграции со многими веб-фреймворками.
swagger-api/swagger-codegen
CLI-инструмент для генерации SDK клиентов API, серверных заглушек и HTML-документации по спецификации OpenAPI/Swagger.
- Звёзды
- 17,793
- Форки
- 5,948
- Открытые issues
- 3,442
- Последний коммит
- вчера
Что это?
Swagger Codegen — генератор кода на основе шаблонов, который читает спецификацию OpenAPI или Swagger и создает библиотеки клиентов API, серверные заглушки и документацию по API. Он избавляет от необходимости вручную писать модели запросов и обертки для эндпоинтов на каждом языке, который использует команда.
Проект поддерживает множество целевых платформ: клиенты для Java, C#, Go, Python, TypeScript, PHP, Swift, Kotlin, Rust и других языков, а также серверные заглушки для таких фреймворков, как Spring, ASP.NET Core, Flask и Rails. Документацию можно создавать в виде статического HTML-файла или динамического одностраничного HTML-приложения. Генерация запускается через CLI JAR, Docker или интеграции с Maven и Gradle.
Проект разделен на ветки версий 2.X и 3.X с разными Maven group ID; поддержка OpenAPI 3.0 есть только в ветке 3.X. Шаблоны можно настраивать: менять результат генерации или добавлять собственные целевые платформы.
Ключевые возможности
- 01Генерирует клиентов API на десятках языков и для разных фреймворков по спецификациям OpenAPI или Swagger.
- 02Создает серверные заглушки для таких фреймворков, как Spring, ASP.NET Core, Flask и Rails.
- 03Создает статическую или динамическую HTML-документацию по API.
- 04Шаблоны можно настраивать, чтобы менять результат генерации или добавлять новые генераторы.
- 05Запускается через CLI, Docker или интеграции с Maven и Gradle.
Сценарии использования
- Генерация типизированного SDK для внутреннего REST API, которым пользуются несколько команд, разрабатывающих клиентские приложения.
- Создание каркаса серверных заглушек на основе API, проектируемого по спецификации.
- Публикация HTML-документации API по файлу OpenAPI.
- Создание примера клиента petstore, чтобы изучить структуру сгенерированного кода.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/swagger-api/swagger-codegen - 2
Перейдите в каталог проекта
cd swagger-codegen - 3
Соберите проект с помощью Maven
mvn clean package - 4
Создайте PHP-клиент по спецификации Petstore
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client
Что важно знать
- Необходимо собирать проект из исходного кода с помощью Java и Maven, что требует дополнительной настройки.
- Версии 2.X и 3.X поддерживаются отдельно и имеют разные group ID, поэтому проверьте, какая линейка вам нужна.
Темы
Частые вопросы
- Что такое swagger-codegen?
- CLI-инструмент для генерации SDK клиентов API, серверных заглушек и HTML-документации по спецификации OpenAPI/Swagger. Swagger Codegen — генератор кода на основе шаблонов, который читает спецификацию OpenAPI или Swagger и создает библиотеки клиентов API, серверные заглушки и документацию по API. Он избавляет от необходимости вручную писать модели запросов и обертки для эндпоинтов на каждом языке, который использует команда.
- swagger-codegen можно использовать бесплатно? Какая у него лицензия?
- swagger-codegen распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- swagger-codegen всё ещё поддерживается?
- Активно поддерживается. Последний коммит в swagger-codegen — 22 окт. 2026 г..
- Для чего можно использовать swagger-codegen?
- Генерация типизированного SDK для внутреннего REST API, которым пользуются несколько команд, разрабатывающих клиентские приложения. Создание каркаса серверных заглушек на основе API, проектируемого по спецификации. Публикация HTML-документации API по файлу OpenAPI. Создание примера клиента petstore, чтобы изучить структуру сгенерированного кода.
- Как установить swagger-codegen?
- Клонируйте репозиторий: git clone https://github.com/swagger-api/swagger-codegen Перейдите в каталог проекта: cd swagger-codegen Соберите проект с помощью Maven: mvn clean package Создайте PHP-клиент по спецификации Petstore: java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client
- Где скачать swagger-codegen?
- Исходный код и инструкции по установке — на GitHub: https://github.com/swagger-api/swagger-codegen
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Swagger UI отображает в браузере интерактивную документацию API на основе спецификации OpenAPI/Swagger.
Генерирует SDK клиентов API, серверные заготовки и документацию на десятках языков и для разных фреймворков по спецификациям OpenAPI 2.0 и 3.0.
Плагин protoc, который генерирует сервер обратного прокси, преобразующий RESTful HTTP-запросы с JSON в gRPC-запросы для сервисов на Go.
Инструмент с открытым исходным кодом для создания адаптивного трёхпанельного сайта со справочной документацией API на основе спецификаций OpenAPI, Swagger, AsyncAPI или GraphQL.
Open-source API-клиент, который хранит коллекции в виде текстовых файлов на диске — офлайн-альтернатива Postman и Insomnia.