Heim >Backend-Entwicklung >PHP-Tutorial >So dokumentieren Sie mehrere APIs in Laravel mit Scramble

So dokumentieren Sie mehrere APIs in Laravel mit Scramble

Robert Michael Kim
Robert Michael KimOriginal
2025-03-05 15:53:11924Durchsuche

How to document multiple APIs in Laravel with Scramble

Laravel -Anwendungen verwalten häufig mehrere APIs, die für die Versionierung, die Trennung öffentlicher und interner Zugriffs oder das Catering für verschiedene Frontend-/Backend -Anforderungen von Vorteil sind. Scramble vereinfacht das Dokumentieren dieser vielfältigen APIs.

Scrambles Standard -Setup dokumentiert eine "Standard" -API, die Endpunkte umfasst, beginnend mit api/. Das Hinzufügen von mehr APIs beinhaltet Registrierung, Konfiguration und Dokumentationsbelastung.

Beispiel: Dokumentieren Sie mehrere API -Versionen

Betrachten Sie eine Anwendung mit zwei API -Versionen:

// routes/api.php
Route::prefix('v1')->group(function () {
    // v1 routes
});

Route::prefix('v2')->group(function () {
    // v2 routes
});

Um v1 zu dokumentieren, passen Sie die Scramble -Konfiguration an:

// config/scramble.php
...
'api_path' => 'api/v1',
...

für v2 registrieren Sie es explizit innerhalb der Methode eines Dienstanbieters: boot

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

public function boot()
{
    Scramble::registerApi('v2', ['api_path' => 'api/v2']);
}
Registrieren Sie die Dokumentationsrouten

in 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');
Jetzt sind beide APIs dokumentiert:

  • v1 Dokumentation:

    • : UI für V1 -Dokumentation GET docs/api
    • : OpenAPI 3.1.0 Spezifikation für v1 GET docs/api.json
  • v2 Dokumentation:

    • : UI für V2 -Dokumentation GET docs/v2
    • : OpenAPI 3.1.0 Spezifikation für V2 GET docs/v2/api.json

Dokumentationszugriff

Verwalten Sie für öffentliche und private APIs Middleware. Standardmäßig ist die Dokumentation über

Middleware auf Nichtproduktionsumgebungen beschränkt. RestrictedDocsAccess

Um

öffentlich zu machen, entfernen Sie v1 aus der Standardkonfiguration: RestrictedDocsAccess

// config/scramble.php
...
'middleware' => [
    'web',
],
...
, um

auf Nichtproduktion einzuschränken: v2

// app/Providers/AppServiceProvider.php
use Dedoc\Scramble\Http\Middleware\RestrictedDocsAccess;

public function boot()
{
    Scramble::registerApi('v2', [
        'api_path' => 'api/v2',
        'middleware' => [
            'web',
            RestrictedDocsAccess::class,
        ],
    ]);
}
jetzt ist

in der Produktion öffentlich zugänglich, während v1 auf Nichtproduktion beschränkt bleibt. v2

Anpassen von V1 -Dokumentationsrouten

, um die Standard -Routen (

, v1) anzupassen, Deaktivieren Sie die Standardroutenregistrierung: GET docs/api GET docs/api.json

registrieren Sie sie dann manuell:
// app/Providers/AppServiceProvider.php
public function register()
{
    Scramble::disableDefaultRoutes();
}

// routes/web.php
Scramble::registerUiRoute('docs/v1', api: 'default');
Scramble::registerJsonSpecificationRoute('docs/v1/api.json', api: 'default');
Schlussfolgerung

krambiert effizient mehrere API -Dokumentation in einer einzigen Laravel -Anwendung und bietet für jede API eine granulare Steuerung über Routen, Middleware und Konfiguration. Erfahren Sie mehr unter:

https://www.php.cn/link/0fcbc3c0cf262c771001930af2406bbc

Das obige ist der detaillierte Inhalt vonSo dokumentieren Sie mehrere APIs in Laravel mit Scramble. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn