Для использования Swagger в Yii2 вам понадобится установить пакет yii2-swagger
. Ниже я предоставлю подробную инструкцию по использованию Swagger в Yii2.
Шаг 1: Установка пакета yii2-swagger
Для установки пакета yii2-swagger вам необходимо использовать Composer. В командной строке перейдите в директорию вашего проекта и введите следующую команду:
composer require --dev zircote/swagger-php
Шаг 2: Настройка конфигурации приложения
Добавьте следующий код в ваш файл config/web.php
или config/main.php
, в зависимости от того, как вы настраиваете приложение:
'modules' => [ 'swagger' => [ 'class' => 'yii2modswaggerModule', 'jsonPath' => '@webroot/api/swagger.json', // путь к месту сохранения файла JSON 'scanDir' => [ '@api/modules/v1/controllers', // путь к контроллерам, которые нужно сканировать ], ], ],
Шаг 3: Генерация файла JSON с помощью Swagger
Создайте контроллер, который будет использоваться для генерации файла JSON с помощью Swagger. Ниже приведен пример контроллера:
namespace apimodulesv1controllers; use yiirestController; class SwaggerController extends Controller { public function actions() { return [ 'index' => [ 'class' => 'yii2modswaggerSwaggerUIRendererAction', 'apiJsonUrl' => ['swagger/api-json'], // URL для получения файла JSON с описанием API ], 'api-json' => [ 'class' => 'yii2modswaggerOpenAPIJsonAction', 'scanDir' => [ '@api/modules/v1/controllers', // путь к контроллерам, которые нужно сканировать ], ], ]; } }
Затем добавьте маршрут для контроллера в вашем файле конфигурации маршрутизации (config/web.php
или config/main.php
):
'routes' => [ // ... [ 'class' => 'yiirestUrlRule', 'controller' => 'v1/your-controller', // ваш контроллер 'prefix' => 'api', // префикс для маршрутов API ], [ // маршрут для генерации файла JSON Swagger 'class' => 'yiirestUrlRule', 'controller' => 'v1/swagger', 'extraPatterns' => [ 'GET,OPTIONS index' => 'index', 'GET,OPTIONS api-json' => 'api-json', ], 'prefix' => 'swagger', // префикс для маршрутов Swagger ], // ... ],
Шаг 4: Отображение интерфейса Swagger
Теперь, когда у вас есть контроллер для генерации файла JSON с описанием API, и настроены маршруты, вы можете открыть интерфейс Swagger по адресу http://your-domain/swagger/index
.
На этой странице вы сможете просмотреть и протестировать API вашего приложения, а также скачать файл JSON с описанием API для дальнейшего использования.
Удачи в использовании Swagger в вашем приложении Yii2!