{"id":10007,"date":"2024-04-19T16:04:21","date_gmt":"2024-04-19T14:04:21","guid":{"rendered":"https:\/\/via-internet.de\/blog\/?p=10007"},"modified":"2024-04-19T16:09:43","modified_gmt":"2024-04-19T14:09:43","slug":"laravel-arbeiten-mit-swagger","status":"publish","type":"post","link":"https:\/\/via-internet.de\/blog\/2024\/04\/19\/laravel-arbeiten-mit-swagger\/","title":{"rendered":"Laravel | Arbeiten mit Swagger"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"3409\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 1: Erstellen Sie ein Laravel-Projekt<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie noch kein Laravel-Projekt haben, erstellen Sie eines mit Composer. \u00d6ffnen Sie Ihr Terminal und f\u00fchren Sie den folgenden Befehl aus:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer create-project --prefer-dist laravel\/laravel App<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ersetzen Sie <code>your-api-project<\/code> durch den gew\u00fcnschten Projektnamen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 2: Installieren Sie die Swagger-PHP-Bibliothek<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sie ben\u00f6tigen die Swagger-PHP-Bibliothek, um Swagger-Dokumentation zu generieren. Installieren Sie diese mit Composer:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer require zircote\/swagger-php<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 3: Erstellen Sie API-Routen<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Laravel definieren Sie Ihre API-Routen in der Datei <code>routes\/api.php<\/code>. Sie k\u00f6nnen Routen erstellen, wie Sie es normalerweise f\u00fcr Ihre API tun w\u00fcrden.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">routes\/api.php\n\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::get('\/users', 'UserController@index');\nRoute::post('\/users', 'UserController@store');\nRoute::get('\/users\/{id}', 'UserController@show');<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 4: Generieren Sie Swagger-Annotationen<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Ihren Controller-Methoden verwenden Sie Swagger-Annotationen, um Ihre API zu dokumentieren. Hier ist ein Beispiel, wie man eine Controller-Methode annotiert:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/**\n * @SWG\\Get(\n *     path=\"\/users\",\n *     summary=\"Holt eine Liste von Benutzern\",\n *     tags={\"Users\"},\n *     @SWG\\Response(response=200, description=\"Erfolgreiche Operation\"),\n *     @SWG\\Response(response=400, description=\"Ung\u00fcltige Anfrage\")\n * )\n *\/\npublic function index()\n{\n    \/\/ Ihre API-Logik hier\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Weitere Informationen zu Swagger-Annotationen finden Sie in der Swagger-PHP-Dokumentation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 5: Generieren Sie Swagger-Dokumentation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem Sie Ihre Controller annotiert haben, m\u00fcssen Sie die Swagger-Dokumentation generieren. Dies k\u00f6nnen Sie mit dem <code>artisan<\/code> Befehl tun, der vom <code>darkaonline\/l5-swagger<\/code> Paket bereitgestellt wird.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst installieren Sie das Paket:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer require darkaonline\/l5-swagger<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ver\u00f6ffentlichen Sie nun die Swagger-Konfiguration:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">php artisan vendor:publish --provider \"L5Swagger\\L5SwaggerServiceProvider\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bearbeiten Sie die Datei <code>config\/l5-swagger.php<\/code>, um die Swagger-Konfiguration nach Bedarf anzupassen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 6: Generieren Sie Swagger-Dokumentation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchren Sie den folgenden Befehl aus, um die Swagger-Dokumentation zu generieren:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">php artisan l5-swagger:generate<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Swagger UI ist verf\u00fcgbar unter <code>http:\/\/127.0.0.1:8000\/api\/documentation<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt 7: Zugriff auf Swagger UI<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6ffnen sie die Swagger UI URL in Ihrem Browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Schritt 1: Erstellen Sie ein Laravel-Projekt Wenn Sie noch kein Laravel-Projekt haben, erstellen Sie eines mit Composer. \u00d6ffnen Sie Ihr Terminal und f\u00fchren Sie den folgenden Befehl aus: Ersetzen Sie your-api-project durch den gew\u00fcnschten Projektnamen. Schritt 2: Installieren Sie die Swagger-PHP-Bibliothek Sie ben\u00f6tigen die Swagger-PHP-Bibliothek, um Swagger-Dokumentation zu generieren. Installieren Sie diese mit Composer: Schritt 3: Erstellen Sie API-Routen In Laravel definieren Sie Ihre API-Routen in der Datei routes\/api.php. Sie k\u00f6nnen Routen erstellen, wie Sie es normalerweise f\u00fcr Ihre API tun w\u00fcrden. Schritt 4: Generieren Sie Swagger-Annotationen In Ihren Controller-Methoden verwenden Sie Swagger-Annotationen, um Ihre API zu dokumentieren. Hier ist ein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10007","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/10007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/comments?post=10007"}],"version-history":[{"count":3,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/10007\/revisions"}],"predecessor-version":[{"id":10010,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/10007\/revisions\/10010"}],"wp:attachment":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/media?parent=10007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/categories?post=10007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/tags?post=10007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}