Swagger UI отображает в браузере интерактивную документацию API на основе спецификации OpenAPI/Swagger.
swaggo/swag
Инструмент для Go, который генерирует документацию API в формате Swagger 2.0 по аннотациям в комментариях к исходному коду.
- Звёзды
- 13,048
- Форки
- 1,492
- Открытые issues
- 482
- Последний коммит
- в прошлом месяце
Что это?
Swag разбирает комментарии специального формата в коде на Go, например над обработчиками и определениями структур, и генерирует документацию Swagger 2.0 в виде файлов swagger.json, swagger.yaml и docs.go. Разработчики добавляют над обработчиками аннотации вроде @Summary, @Param, @Success и @Router, а затем запускают swag init, чтобы обновить спецификацию.
Сгенерированную документацию можно показывать через Swagger UI с помощью middleware-пакетов для популярных веб-фреймворков Go, включая Gin, Echo, Fiber, net/http, chi и Hertz. Полям структур можно задавать теги с примерами, ограничениями валидации, перечислениями и переопределениями для пользовательских типов. В Swag также есть команда swag fmt для форматирования комментариев с аннотациями.
Ключевые возможности
- 01Генерирует спецификации Swagger 2.0 в форматах JSON и YAML, а также Go-пакет docs.
- 02Описывает эндпоинты с помощью аннотаций в комментариях над функциями-обработчиками Go.
- 03Поддерживает параметры запросов, ответы, заголовки, определения безопасности и теги.
- 04Читает теги полей структур с примерами, правилами валидации и перечислениями.
- 05Предоставляет middleware для Gin, Echo, Fiber, net/http, chi и других фреймворков.
- 06Включает команду swag fmt для форматирования комментариев с аннотациями.
Сценарии использования
- Генерация документации API для REST-сервиса на Go без ручного ведения отдельного файла OpenAPI.
- Публикация интерактивной страницы Swagger UI для бэкенда на Gin или Echo.
- Поддержание актуальности документации API в соответствии с кодом обработчиков во время сборок CI.
Быстрый старт
- 1
Установите CLI swag с помощью Go
go install github.com/swaggo/swag/cmd/swag@latest - 2
Добавьте аннотации API в комментарии исходного кода на Go
- 3
Запустите swag init в корне проекта, где находится main.go, чтобы сгенерировать документацию
swag init
Что важно знать
- Генерирует документацию только в формате Swagger 2.0, без поддержки OpenAPI 3.x.
- Аннотации нужно писать в комментариях Go, а после изменений документацию необходимо генерировать заново.
Темы
Частые вопросы
- Что такое swag?
- Инструмент для Go, который генерирует документацию API в формате Swagger 2.0 по аннотациям в комментариях к исходному коду. Swag разбирает комментарии специального формата в коде на Go, например над обработчиками и определениями структур, и генерирует документацию Swagger 2.0 в виде файлов swagger.json, swagger.yaml и docs.go. Разработчики добавляют над обработчиками аннотации вроде @Summary, @Param, @Success и @Router, а затем запускают swag init, чтобы обновить спецификацию.
- swag можно использовать бесплатно? Какая у него лицензия?
- swag распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- swag всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в swag — 30 сент. 2026 г..
- Для чего можно использовать swag?
- Генерация документации API для REST-сервиса на Go без ручного ведения отдельного файла OpenAPI. Публикация интерактивной страницы Swagger UI для бэкенда на Gin или Echo. Поддержание актуальности документации API в соответствии с кодом обработчиков во время сборок CI.
- Как установить swag?
- Установите CLI swag с помощью Go: go install github.com/swaggo/swag/cmd/swag@latest Добавьте аннотации API в комментарии исходного кода на Go Запустите swag init в корне проекта, где находится main.go, чтобы сгенерировать документацию: swag init
- Где скачать swag?
- Исходный код и инструкции по установке — на GitHub: https://github.com/swaggo/swag
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Набор инструментов с открытым исходным кодом для OpenAPI/Swagger: интерактивная справка по API, API-клиент с приоритетом работы офлайн и интеграции со многими веб-фреймворками.
Консольная утилита и библиотека для Go, генерирующая серверный шаблонный код, API-клиенты и модели по спецификациям OpenAPI 3.0 и 3.1.
Java-библиотека, которая генерирует спецификации OpenAPI по аннотациям кода и REST API на JAX-RS и поддерживает OpenAPI 3.x.
Создаёт спецификации Swagger/OpenAPI 2.0 и интерактивную документацию по API на Django REST Framework.
Генерирует SDK клиентов API, серверные заготовки и документацию на десятках языков и для разных фреймворков по спецификациям OpenAPI 2.0 и 3.0.