defa-public/swagger-code-gen

Библиотека для генерации API на основе Swagger-схемы

dev-master 2018-12-24 16:19 UTC

This package is auto-updated.

Last update: 2022-03-25 20:14:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Генератор контроллеров, валидаторов, роутов (base API) на основе Swagger-схемы

Установка

Composer

$ composer require defa-public/swagger-code-gen

Возможности

  • Генерация роутов (с сохранением старого варианта роута)
  • Генерация валидаторов
  • Генерация контроллеров с привязкой к `Response::class и входному порту в приложение (пример: HttpPort\\Auth::login`)

Драйверы

Нужны для добавления поддержки различных фреймворков.

Текущие драйверы:

  • Lumen ^5.5 (lumen5) - beta
  • Laravel ^5.5 (laravel5) - alpha
  • Symfony ^3 (symfony3) ?- в разработке
  • Symfony ^4 (symfony4) - в разработке
  • Zend Expressive (FastRouter/(Pimple/Aura.Di)/Twig/Whoops) - ?- в разработке (под вопросом)

Для создания собственных драйверов, нужно унаследоваться от класса `Defa\SwaggerCodeGen\Driver и указать его в конфигурационном объекте Defa\SwaggerCodeGen\Config\BaseConfig` в соответствующем поле

Конфигурирование

Конфигурирование осуществляется путём создания объекта класса `Defa\SwaggerCodeGen\Config\BaseConfig и передачи этого объекта на вход объекту класса Defa\SwaggerCodeGen\Scheme`

Консольные команды

Обязательные параметры:

  • `scheme-path=path/to/scheme` - путь до схемы (можно указывать uri) *обязательный

Параметры на выбор (должен быть указан любой из них):

  • `--validators` - генерирует только валидаторы
  • `--all` - генерирует все необходимые классы
  • `--refresh` - удаляет и создаёт заново все созданные (совпадающие с генерируемыми) файлы/папки

Примеры

<?php 
//Example Code