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']); }
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');
v1 Dokumentation:
GET docs/api
GET docs/api.json
v2 Dokumentation:
GET docs/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
öffentlich zu machen, entfernen Sie v1
aus der Standardkonfiguration: RestrictedDocsAccess
// config/scramble.php ... 'middleware' => [ 'web', ], ...
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, ], ]); }
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
// 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');
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/0fcbc3c0cf262c771001930af2406bbcDas 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!