Dokumen Persediaan Lalai Scramble Sebuah API "lalai", merangkumi titik akhir bermula dengan
. Menambah lebih banyak API melibatkan pendaftaran, konfigurasi, dan pendedahan dokumentasi. api/
Contohnya: Mendokumentasikan pelbagai versi API
Pertimbangkan permohonan dengan dua versi API:
untuk dokumen
, laraskan konfigurasi berebut:// routes/api.php Route::prefix('v1')->group(function () { // v1 routes }); Route::prefix('v2')->group(function () { // v2 routes });
v1
untuk
// config/scramble.php ... 'api_path' => 'api/v1', ...
v2
boot
Daftar Laluan Dokumentasi
// app/Providers/AppServiceProvider.php use Dedoc\Scramble\Facades\Scramble; public function boot() { Scramble::registerApi('v2', ['api_path' => 'api/v2']); }
v2
routes/web.php
Sekarang, kedua -dua API didokumenkan:
// routes/web.php use Dedoc\Scramble\Facades\Scramble; Scramble::registerUiRoute('docs/v2', api: 'v2'); Scramble::registerJsonSpecificationRoute('docs/v2/api.json', api: 'v2');
Dokumentasi
: ui untuk dokumentasi v1
GET docs/api
: OpenAPI 3.1.0 Spesifikasi untuk V1 GET docs/api.json
: ui untuk dokumentasi v2
GET docs/v2
: OpenAPI 3.1.0 Spesifikasi untuk V2 GET docs/v2/api.json
Untuk API awam dan swasta, menguruskan middleware. Secara lalai, dokumentasi terhad kepada persekitaran bukan pengeluaran melalui middleware.
untuk membuat RestrictedDocsAccess
awam, keluarkan
v1
RestrictedDocsAccess
untuk mengehadkan
// config/scramble.php ... 'middleware' => [ 'web', ], ...
v2
sekarang,
// 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
Menyesuaikan Laluan Dokumentasi V1
untuk menyesuaikan laluan lalai (
,), Lumpuhkan pendaftaran laluan lalai: v1
GET docs/api
GET docs/api.json
Kemudian, daftar mereka secara manual:
// app/Providers/AppServiceProvider.php public function register() { Scramble::disableDefaultRoutes(); }
Kesimpulan
// routes/web.php Scramble::registerUiRoute('docs/v1', api: 'default'); Scramble::registerJsonSpecificationRoute('docs/v1/api.json', api: 'default');
berebut dengan cekap mengendalikan pelbagai dokumentasi API dalam satu aplikasi Laravel tunggal, menawarkan kawalan berbutir ke atas laluan, middleware, dan konfigurasi untuk setiap API. Ketahui lebih lanjut di: https://www.php.cn/link/0fcbc3c0cf262c771001930af2406bbc
Atas ialah kandungan terperinci Cara mendokumentasikan pelbagai API di Laravel dengan perebutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!