yaro / apidocs
Laravel 5 的 API 文档生成器
0.5.0
2020-05-10 12:04 UTC
Requires
- illuminate/support: 5.*|6.*|7.*
README
基于 DocBlock 注释的 Laravel 5 API 文档生成器。
安装
您可以通过 Composer 安装此包。
composer require yaro/apidocs
将此服务提供者和别名添加到 config/app.php
'providers' => [ //... Yaro\ApiDocs\ServiceProvider::class, //... ] 'aliases' => [ //... 'ApiDocs' => Yaro\ApiDocs\Facade::class, //... ]
然后发布配置和资源文件
php artisan vendor:publish --provider="Yaro\ApiDocs\ServiceProvider"
您应该在 config/filesystems.php
中添加名为 snapshots 的磁盘,其中将保存 blueprint 快照
//... 'disks' => [ //... 'apidocs' => [ 'driver' => 'local', 'root' => storage_path('apidocs'), ], //...
使用方法
您的所有路由都必须以某个段开始,例如 /api/
(在配置中更改)。该包将收集以该段开始的仅此段的路由。
将此注释添加到您的路由方法 DocBlock 中。例如:
/** * Some api endpoint for important stuff. * * Just show some template with * some very long description * on several lines * * @param int $offset Just an offset size * @param string $password */ public function getSomeStuff() { return response()->json([]); }
创建一个路由来查看您的文档。
Route::get('/docs', function() { return ApiDocs::show(); });
您还可以通过添加 apidocs.auth.basic
中间件来强制授权提示。授权身份位于 apidocs.auth.credentials
配置下。
Route::get('/docs', function() { return ApiDocs::show(); })->middleware(['apidocs.auth.basic']);
要将某些路由/类排除在外,请将它们添加到配置的 exclude
中。可以使用星号来表示通配符。
'exclude' => [ 'classes' => [ // 'App\Http\Controllers\*' - exclude all controllers from docs. // 'App\Http\Controllers\MyController@*' - remove all methods for specific controller from docs. ], 'routes' => [ // 'payment/test', // 'simulate/*', ], ],
此外,您还可以创建 API Blueprint 文件
ApiDocs::blueprint()->create(); // or pass snapshot name and/or filesystem disc name ApiDocs::blueprint()->create('my-newest-snapshot', 's3-blueprint');
或直接渲染其内容而不创建文件
echo ApiDocs::blueprint()->render();
或通过 artisan
php artisan apidocs:blueprint-create
待办事项
- 生成包含所有文档信息的普通 HTML 页面。
- 包含响应的完整尺寸块。
许可
MIT 许可证 (MIT)。请参阅 LICENSE 获取更多信息。