ホームページ >バックエンド開発 >PHPチュートリアル >ScrambleでLaravelで複数のAPIを文書化する方法
Laravelアプリケーションは、多くの場合、複数のAPIを管理し、バージョン化、パブリックおよび内部アクセスの分離、またはさまざまなフロントエンド/バックエンドのニーズへのケータリングに役立ちます。 スクランブルは、これらの多様なAPIの文書化を簡素化します
Scrambleのデフォルトのセットアップは「デフォルト」APIをドキュメントし、で始まるエンドポイントを網羅しています。 さらにAPIを追加するには、登録、構成、ドキュメントの露出が含まれます
api/
2つのAPIバージョンを持つアプリケーションを検討してください:
// routes/api.php Route::prefix('v1')->group(function () { // v1 routes }); Route::prefix('v2')->group(function () { // v2 routes });を文書化するには、スクランブル構成を調整します:
v1
// config/scramble.php ... 'api_path' => 'api/v1', ...に明示的に登録します。
v2
boot
:
// app/Providers/AppServiceProvider.php use Dedoc\Scramble\Facades\Scramble; public function boot() { Scramble::registerApi('v2', ['api_path' => 'api/v2']); }
さて、両方のAPIが文書化されています:v2
routes/web.php
// routes/web.php use Dedoc\Scramble\Facades\Scramble; Scramble::registerUiRoute('docs/v2', api: 'v2'); Scramble::registerJsonSpecificationRoute('docs/v2/api.json', api: 'v2');
v1ドキュメント:
:v1ドキュメントのui
GET docs/api
GET docs/api.json
:v2ドキュメントのui
GET docs/v2
GET docs/v2/api.json
ミドルウェアを介して非生産環境に限定されています。 を公開するには、デフォルトの構成からを削除します:
RestrictedDocsAccess
v1
RestrictedDocsAccess
さて、
// config/scramble.php ... 'middleware' => [ 'web', ], ...は非生産に制限されたままです。
v2
v1ドキュメントルートのカスタマイズ
// app/Providers/AppServiceProvider.php use Dedoc\Scramble\Http\Middleware\RestrictedDocsAccess; public function boot() { Scramble::registerApi('v2', [ 'api_path' => 'api/v2', 'middleware' => [ 'web', RestrictedDocsAccess::class, ], ]); }
デフォルトのルートをカスタマイズするには(v1
、v2
)、デフォルトのルート登録を無効にします:
次に、手動で登録してください:
v1
結論GET docs/api
GET docs/api.json
// app/Providers/AppServiceProvider.php public function register() { Scramble::disableDefaultRoutes(); }https://www.php.cn/link/0fcbc3c0cf262c771001930af2406bbc
以上がScrambleでLaravelで複数のAPIを文書化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。