Основные компоненты Swagger
Swagger — это набор инструментов с открытым исходным кодом, построенный вокруг спецификации OpenAPI и используемый для проектирования, создания, документирования и использования RESTful API.
Swagger предоставляет стандартизированный способ описания структуры API, позволяя как разработчикам, так и машинам понимать функциональность API без доступа к исходному коду или другой документации.
Основные ценности Swagger:
- Стандартизация: Обеспечивает единый формат описания API
- Визуализация: Автоматически генерирует интерактивную документацию API
- Тестируемость: Позволяет тестировать конечные точки API прямо в документации
- Генерация кода: Поддерживает генерацию клиентского и серверного кода на нескольких языках
Основные компоненты Swagger
| Компонент | Ввод | Вывод | Применимый этап |
|---|---|---|---|
| Swagger Editor | Ручное написание YAML/JSON | Документация API с предпросмотром в реальном времени | Этап проектирования API |
| Swagger UI | Файл OpenAPI | Интерактивная веб-документация | Этап разработки/тестирования |
| Swagger Codegen | Файл OpenAPI | Клиентский/серверный код | Этап взаимодействия фронтенда и бэкенда |
Схема взаимодействия компонентов:
Swagger Editor(设计API) ↓ OpenAPI 规范文件(YAML/JSON) ↓ Swagger UI(展示文档) или Swagger Codegen(生成代码)

Объяснение основных компонентов Swagger
1. Swagger Editor
Swagger Editor — это браузерный визуальный редактор для написания и предварительного просмотра спецификаций OpenAPI (формат YAML/JSON) в реальном времени.
Swagger Editor обеспечивает подсветку синтаксиса, автодополнение и проверку ошибок.
Функции генерации кода, сохранения и экспорта Swagger Editor теперь интегрированы в SmartBear API Hub. Адрес доступа:https://try.platform.smartbear.com/new-organization。
Сценарии использования:
- Быстрое создание прототипов API
- Изучение синтаксиса спецификации OpenAPI
Откройте онлайн-редактор Swagger Editor:https://editor.swagger.io/
Введите следующий код YAML (определяет простую конечную точку GET /users):
Пример
openapi: 3.0.3
информация:
title: ПРИМЕР Система управления пользователями
version: 1.0.0
paths:
/users:
get:
summary: Получить список пользователей
responses:
'200':
description: Успешно возвращает список пользователей
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
С правой стороны будет в реальном времени отображаться документация API и интерактивный интерфейс.

Swagger UI
Swagger UI преобразует спецификации OpenAPI в визуальную интерактивную документацию и поддерживает тестирование API прямо в браузере.
Swagger UI автоматически создаёт примеры запросов, модели ответов и интерфейс отладки.
Swagger UI: https://swagger.io/tools/swagger-ui/
Сценарии использования:
- Обменивайтесь документацией API внутри команды
- Фронтенд-разработчики отлаживают API
Пример интеграции (с использованием Node.js), установите зависимости:
npm install swagger-ui-express swagger-jsdoc
Создайте файл конфигурации swagger.js:
Пример
const options = {
определение: {
openapi: '3.0.0',
info: { title: 'User API', version: '1.0.0' },
},
apis: ['./routes/*.js'], // Сканировать комментарии в файлах маршрутов
};
const swaggerSpec = swaggerJSDoc(options);
module.exports = swaggerSpec;
Подключите UI в Express:
Пример
const swaggerUi = require('swagger-ui-express');
const swaggerSpec = require('./swagger');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
Посетите http://localhost:3000/api-docs, чтобы просмотреть документацию.

Swagger Codegen
Swagger Codegen автоматически создает клиентские SDK (например, Java, Python) или заготовки серверного кода (например, Spring, Flask) на основе спецификаций OpenAPI.
Swagger Codegen поддерживает пользовательские шаблоны.
Страница загрузки:https://swagger.io/tools/swagger-codegen/
Сценарии использования:
- Быстрое создание клиентского кода для вызовов API
- Автоматизированная разработка серверных интерфейсов
Пример работы (генерация Java-клиента через командную строку), скачайте Swagger Codegen CLI:
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.35/swagger-codegen-cli-3.0.35.jar -O swagger-codegen-cli.jar
Сгенерировать код:
java -jar swagger-codegen-cli.jar generate \ -i https://petstore.swagger.io/v2/swagger.json \ -l java \ -o ./petstore-api-client
Swagger Hub (необязательное расширение)
Swagger Hub — облачная платформа Swagger, обеспечивающая совместное проектирование, управление версиями и размещённую документацию.
Swagger Hub поддерживает командную работу и управление жизненным циклом API.
Сценарии использования:
- Управление API-проектами корпоративного уровня
- Распределённые команды, которым нужна онлайн-совместная работа
Адрес доступа:https://swagger.io/api-hub/
Другие расширения