mhapach/swaggermodelgenerator is a Laravel package for swagger model generator for laravel.
It currently has 3 GitHub stars and 98 downloads on Packagist (latest version 0.0.32).
Install it with composer require mhapach/swaggermodelgenerator.
Discover more Laravel packages by mhapach
or browse all Laravel packages to compare alternatives.
Last updated
This library generates models and service with methods based on Swagger scheme. Current release supports OpenAPI 2.0 (Aka OAS) and OpenApi 3.0
Step 1. Add Eloquent Model Generator to your project via Composer
$ composer require mhapach/swaggermodelgenerator
Step 2. Register SwaggerModelGeneratorServiceProvider in config/app.php
'providers' => [
//...
\mhapach\SwaggerModelGenerator\SwaggerModelGeneratorServiceProvider::class,
]
$serviceScheme = "http://your-service.com/scheme";
$modelsNamespace = 'App\Services\Models';
$serviceNamespace = 'App\Services';
$modelsPath = "/your-project/app/Services/Models";
$servicePath = "/your-project/app/Services";
/** @var Swagger $converterInstance */
$converterInstance = (new SwaggerModelGenerator($serviceScheme, true))->getConverterInstance($modelsNamespace, $serviceNamespace);
$converterInstance->genModels($modelsPath);
$converterInstance->genService($servicePath);
$serviceAddress = "http://your-service.com/some-name";
$service = new Service($serviceAddress);
$bc = $service->benefitCategoriesUsingGET([
'path' => ['id' => 1122],
'query' => ['some-param' => 1],
]);
$serviceAddress = "http://your-service.com/some-name";
$token = 'daksdlka shdlkjahslkdj h==';
$headers = [
'Accept' => '*/*',
'Content-Type' => 'application/x-www-form-urlencoded',
'Cache-Control' => 'no-cache',
"Authorization" => "Bearer {$token}"
];
$service = new Service($serviceAddress, $headers);
$bc = $service->benefitCategoriesUsingGET([
'query' => ['some-param' => 1],
'body' => '{"param1":100, "param2":200}'
]);
$serviceAddress = "http://your-service.com/some-name";
$config = config('logging.channels.'.config('logging.default'));
$config['path'] = storage_path("logs/rest.log"); // optional
$logger = \Log::build($config);
$service = new Service($serviceAddress, ['Content-Type' => 'application/json'], $logger);
//Enabling log
$service->enableLog();
// call service method
$bc = $service->benefitCategoriesUsingGET([
'query' => ['some-param' => 1],
'body' => '{"param1":100, "param2":200}'
]);
Please see the changelog for more information on what has changed recently.
$ composer test
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email author email instead of using the issue tracker.
license. Please see the license file for more information.