Rumah > pembangunan bahagian belakang > tutorial php > Cara mendokumentasikan pelbagai API di Laravel dengan perebutan

Cara mendokumentasikan pelbagai API di Laravel dengan perebutan

Robert Michael Kim
Lepaskan: 2025-03-05 15:53:11
asal
917 orang telah melayarinya

How to document multiple APIs in Laravel with Scramble

Aplikasi Laravel sering menguruskan pelbagai API, bermanfaat untuk versi, memisahkan akses awam dan dalaman, atau memenuhi keperluan frontend/backend yang berbeza. Perebutan memudahkan mendokumentasikan API yang pelbagai ini.

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
});
Salin selepas log masuk

v1 untuk

, mendaftarkannya secara eksplisit dalam kaedah
// config/scramble.php
...
'api_path' => 'api/v1',
...
Salin selepas log masuk
pembekal perkhidmatan:

v2 boot Daftar Laluan Dokumentasi

di
// app/Providers/AppServiceProvider.php
use Dedoc\Scramble\Facades\Scramble;

public function boot()
{
    Scramble::registerApi('v2', ['api_path' => 'api/v2']);
}
Salin selepas log masuk
:

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');
Salin selepas log masuk

Dokumentasi

    V1:
  • : ui untuk dokumentasi v1
    • GET docs/api: OpenAPI 3.1.0 Spesifikasi untuk V1
    • GET docs/api.json
  • Dokumentasi V2:
  • : ui untuk dokumentasi v2
    • GET docs/v2: OpenAPI 3.1.0 Spesifikasi untuk V2
    • GET docs/v2/api.json
  • Mengawal Akses Dokumentasi

Untuk API awam dan swasta, menguruskan middleware. Secara lalai, dokumentasi terhad kepada persekitaran bukan pengeluaran melalui middleware.

untuk membuat RestrictedDocsAccess awam, keluarkan

dari konfigurasi lalai:

v1 RestrictedDocsAccess untuk mengehadkan

kepada bukan pengeluaran:
// config/scramble.php
...
'middleware' => [
    'web',
],
...
Salin selepas log masuk

v2 sekarang,

boleh diakses secara terbuka dalam pengeluaran, sementara
// app/Providers/AppServiceProvider.php
use Dedoc\Scramble\Http\Middleware\RestrictedDocsAccess;

public function boot()
{
    Scramble::registerApi('v2', [
        'api_path' => 'api/v2',
        'middleware' => [
            'web',
            RestrictedDocsAccess::class,
        ],
    ]);
}
Salin selepas log masuk
tetap terhad kepada bukan pengeluaran.

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();
}
Salin selepas log masuk

Kesimpulan
// routes/web.php
Scramble::registerUiRoute('docs/v1', api: 'default');
Scramble::registerJsonSpecificationRoute('docs/v1/api.json', api: 'default');
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan