cm2-tech/swagger-bundle

Reusable Symfony bundle for generating OpenAPI (Swagger) JSON output with basic protection

Installs: 11

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:symfony-bundle

1.0.8 2025-05-28 02:52 UTC

This package is not auto-updated.

Last update: 2025-05-29 12:47:03 UTC


README

Bundle para gerar e servir automaticamente a documentação OpenAPI (swagger.json) com base em anotações do pacote zircote/swagger-php, para projetos Symfony.

Instalação

  1. Adicione o bundle via composer:

composer require cm2-tech/swagger-bundle:^1.0

  1. Habilite o bundle (se necessário):

Symfony Flex já deve fazer isso automaticamente. Caso contrário, edite config/bundles.php:

return [ // ... CM2\SwaggerBundle\CM2SwaggerBundle::class => ['all' => true], ];

  1. Adicione a variável de ambiente SWAGGER_TOKEN no seu arquivo .env ou .env.local:

SWAGGER_TOKEN=seu_token_secreto

Esta variável é obrigatória para proteger o acesso ao endpoint /_swagger. Sem ela, o acesso será negado.

  1. Importe os endpoints do bundle, só tem 1 (/_swagger):

swagger_bundle: resource: '@SwaggerBundle/Controller/' type: annotation

  1. O controller precisa de argumentos, importe-os no services.yaml:

services: CM2\SwaggerBundle\Controller\SwaggerController: arguments: $sources: - '%kernel.project_dir%/src/Controller' - '%kernel.project_dir%/src/Entity' tags: ['controller.service_arguments']

Uso

Acesse a URL:

/_swagger?token=seu_token_secreto

Ela retornará o conteúdo do swagger.json com base nas anotações presentes em:

  • src/Controller
  • src/Entity

Requisitos

  • PHP >= 8.1
  • Symfony >= 6.4
  • zircote/swagger-php