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
Freigeben: 2025-03-05 15:53:11
Original
917 Leute haben es durchsucht

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
});
Nach dem Login kopieren

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

// config/scramble.php
...
'api_path' => 'api/v1',
...
Nach dem Login kopieren

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']);
}
Nach dem Login kopieren
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');
Nach dem Login kopieren
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',
],
...
Nach dem Login kopieren
, 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,
        ],
    ]);
}
Nach dem Login kopieren
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();
}
Nach dem Login kopieren

// routes/web.php
Scramble::registerUiRoute('docs/v1', api: 'default');
Scramble::registerJsonSpecificationRoute('docs/v1/api.json', api: 'default');
Nach dem Login kopieren
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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage