Ich versuche swagger mit Laravel zu verwenden, um unsere RESTful API automatisch zu dokumentieren. Das Ziel ist es, die Kommentare der Swagger in den Laravel-Controllern zu belassen und dann die Kommentare zu analysieren und die zugehörigen .json/.php-Dateien zu generieren. Im Idealfall möchte ich, dass die Swagger-Dateien vom Laravel-Projekt bereitgestellt werden, damit alles unter einer Haube und synchron bleibt.Wie sollte man Prahlerei von Laravel dienen?
Um dies zu erreichen, habe ich eine docs Verzeichnis im Stammverzeichnis meiner Laravel Projekt (gleiche Verzeichnis, das öffentlichen wohnt in) erstellt. Ich habe dann hinzugefügt, um die folgende Route zu routes.php:
Route::get('docs/{page?}', function($page='index.php') {
header('Access-Control-Allow-Origin: *');
$parts = pathinfo($page);
$path = $_SERVER["DOCUMENT_ROOT"] . "/../docs/$page";
if ($parts['extension'] === 'php') {
require($path);
} else {
return file_get_contents($path);
}
});
Mit dieser Methode Ich bin dann in der Lage meine Prahlerei-ui Website http Punkt: // mydomain/docs und der Rest ist Magie.
Für alle Laravel-Gurus da draußen, ist dies der beste Weg, diese Swagger-Dateien zu bedienen? Ich habe versucht, die docs Verzeichnis in public setzen, aber dies führt zu einer Redirect-Schleife.
Eine andere Möglichkeit, dies zu erreichen, besteht darin, einen virtuellen Host in meiner Webserver-Konfiguration zu erstellen, der direkt auf diese Swagger-Dateien verweist, aber an dieser Stelle möchte ich diese zusätzliche Konfiguration nicht vornehmen.
die Problem, das ich sehe, ist .... und dann was .... Swagger Dokumentation ist begrenzt und ich kann keine Tutorials zu tun, was in 5.2 zu tun, nachdem Sie dieses Paket installiert haben –