mhapach/swaggermodelgenerator
Composer 安装命令:
composer require mhapach/swaggermodelgenerator
包简介
Swagger Model generator for Laravel
README 文档
README
This library generates models and service with methods based on Swagger scheme. Current release supports OpenAPI 2.0 (Aka OAS) and OpenApi 3.0
Installation
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,
]
Usage
Models and service generation
$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);
Generated service and models usage. Example 1
$serviceAddress = "http://your-service.com/some-name";
$service = new Service($serviceAddress);
$bc = $service->benefitCategoriesUsingGET([
'path' => ['id' => 1122],
'query' => ['some-param' => 1],
]);
Generated service and models usage. Example 2
$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}'
]);
Debug log enabling. Example 3
$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}'
]);
Change log
Please see the changelog for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
License
license. Please see the license file for more information.
统计信息
- 总下载量: 98
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-04-19