Для настройки бандла swagger-ui-bundle в Symfony вам следует выполнить следующие шаги:
Шаг 1: Установка бандла
Первым делом необходимо установить бандл swagger-ui-bundle с помощью менеджера пакетов Composer. Выполните команду:
composer require vijinho/swagger-ui-bundle
Шаг 2: Регистрация бандла
Зарегистрируйте бандл в файле config/bundles.php
вашего проекта:
return [ // ... VijinhoSwaggerUiBundleSwaggerUiBundle::class => ['all' => true], ];
Шаг 3: Конфигурация бандла
Создайте файл конфигурации для бандла в директории config/packages/swagger_ui.yaml
. В этом файле вы можете настроить различные параметры бандла. Например:
swagger_ui: api_url: '/api/doc' spec_path: '%kernel.project_dir%/swagger.yaml' config_path: '%kernel.project_dir%/config/swagger_ui_settings.json'
В данном примере мы указываем URL для доступа к Swagger UI, путь к файлу спецификации API и путь к файлу конфигурации Swagger UI.
Шаг 4: Создание спецификации API
Создайте файл спецификации API в формате YAML или JSON. Этот файл описывает структуру вашего API, доступные маршруты, параметры запросов и так далее. Вы можете использовать формат OpenAPI или Swagger для описания API. Пример спецификации:
openapi: 3.0.0 info: title: Example API version: 1.0.0 paths: /users: get: summary: Get all users responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/User' post: summary: Create user requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/User' responses: '201': description: User created content: application/json: schema: $ref: '#/components/schemas/User' components: schemas: User: type: object properties: id: type: integer name: type: string email: type: string
Шаг 5: Настройка маршрутизации
Настройте маршрутизацию в файле config/routes.yaml
. Добавьте путь для доступа к Swagger UI:
swagger_ui_bundle: resource: '@SwaggerUiBundle/Controller/' type: annotation prefix: /api/doc
Шаг 6: Генерация документации
Перейдите по URL, который вы указали в конфигурации бандла, например http://localhost/api/doc
. Вам должен быть доступен Swagger UI, где вы сможете просмотреть документацию вашего API и выполнить запросы.
Это подробное описание настройки бандла swagger-ui-bundle в Symfony. Настраивая бандл таким образом, вы получаете возможность просматривать и тестировать вашу API документацию, что поможет вам в разработке и поддержке проекта.