Heim  >  Artikel  >  Backend-Entwicklung  >  PHP und Laravel lassen sich integrieren, um die Dokumentation und Tests der Swagger-Schnittstelle zu implementieren

PHP und Laravel lassen sich integrieren, um die Dokumentation und Tests der Swagger-Schnittstelle zu implementieren

王林
王林Original
2023-06-25 09:32:461035Durchsuche

In der heutigen zunehmend offenen Internetumgebung sind APIs zum Hauptmittel für die Kommunikation verschiedener Anwendungen geworden. Mit API-Schnittstellen können wir verschiedene Anwendungen problemlos miteinander verbinden, um komplexere Anwendungen zu erreichen. Allerdings sind das Schreiben und Pflegen von API-Schnittstellendokumenten sowie Schnittstellentests relativ schwierige Aufgaben. Um dieses Problem zu lösen, wurden Swagger-Schnittstellendokumentations- und Testtools entwickelt.

Swagger ist ein standardisiertes und vollständiges Framework zum Generieren, Beschreiben, Aufrufen und Visualisieren von Webdiensten im RESTful-Stil. Swagger ist Open Source auf GitHub und wird in OpenAPI verwaltet. Swagger unterstützt Entwickler beim Entwerfen, Erstellen, Dokumentieren und Testen von RESTful-APIs während ihres gesamten Lebenszyklus. Für PHP-Entwickler können Sie die Swagger-PHP- und Laravel-Integration verwenden, um API-Schnittstellendokumente zu schreiben und anzuzeigen.

In diesem Artikel wird erläutert, wie Sie mit PHP und Laravel Swagger integrieren, um API-Schnittstellendokumente zu schreiben und zu testen.

  1. Swagger PHP installieren

Zuerst müssen wir das Swagger PHP-Paket installieren. Es kann über Composer installiert werden, öffnen Sie das Terminal, geben Sie das Laravel-Projektverzeichnis ein und führen Sie den folgenden Befehl aus:

composer require zircote/swagger-php

  1. Swagger UI installieren

Swagger UI ist eine interaktive Open-Source-Seite für Zeigt die durch die Swagger-Spezifikation definierte API-Dokumentation an. Es enthält eine Front-End-Bibliothek zum Rendern von API-Dokumentation mithilfe von Swagger, ReDoc und Swagger-UI. Sie können es über npm installieren oder den Quellcode der Swagger-Benutzeroberfläche direkt herunterladen.

Hier verwenden wir Composer, um den folgenden Befehl zu installieren und auszuführen:

composer require darkaonline/l5-swagger

  1. Swagger PHP konfigurieren

Nach Abschluss der Installation müssen wir den Swagger-Dienstanbieter in der Laravel-Konfiguration hinzufügen Datei. Öffnen Sie die Datei config/app.php, suchen Sie das Provider-Array und fügen Sie die folgende Konfiguration hinzu:

`
'providers' => [

...
DarkaonlineL5SwaggerL5SwaggerServiceProvider::class,

],

'aliases' => [

...
'Swagger' => DarkaonlineL5SwaggerFacadesSwaggerL5::class,

]
`

Fertig Führen Sie nach der Konfiguration den folgenden Befehl aus, um die Konfigurationsdateien, Ansichten, Routing- und anderen Dateien von Swagger zu veröffentlichen:

php artisan seller:publish --provider "L5SwaggerL5SwaggerServiceProvider"

  1. Swagger-Anmerkungen schreiben

Jetzt können wir mit dem Schreiben beginnen Swagger-Anmerkungen. Swagger-Annotationen dienen dazu, den Codekommentaren einige spezifische Anweisungen hinzuzufügen, um dem Swagger-Tool die Parameter, Rückgabewerte, Anforderungsmethoden, Routing-Adressen und andere Informationen der API mitzuteilen.

Hier nehmen wir die grundlegende API-Schnittstelle in Laravel. Wir fügen unserem Code Swagger-Anmerkungen hinzu. Der Beispielcode lautet wie folgt:

`
/**

  • @SWGGet(
  • path="/api/users/{id}",
  • summary="Benutzerinformationen abrufen",
  • tags={"Benutzerverwaltung"},
  • @SWGParameter(
  • name ="id",
  • in="path",
  • required=true,
  • type="integer",
  • description="User ID"
  • ),
  • @SWGResponse(
  • response=200,
  • description="Vorgang erfolgreich",
  • @SWGSchema(
  • type="object",
  • @SWGProperty(
  • property="code",
  • type="integer",
  • format="int64" ,
  • description="Rückgabecode"
  • ),
  • @SWGProperty(
  • property="data",
  • type="object",
  • description="Benutzerinformationsinhalt",
  • @SWGProperty(
  • property="id",
  • type="integer",
  • format="int64",
  • description="Benutzer-ID"
  • ),
  • @SWGProperty(
  • property="name",
  • type="string",
  • description="user name"
  • ),
  • @SWGProperty(
  • property="age",
  • type="integer",
  • format="int32",
  • description ="Benutzeralter"
  • )
  • )
  • )
  • ),
  • @SWGResponse(response=404, description="Benutzerinformationen, die nicht vorhanden sind"),
  • @SWGResponse(response=500, description= „Serverinterner Fehler“)
  • )
    */

public function getUserInfo($ id)
{

// 根据ID获取用户信息

}
`

Wir verwenden die @SWGGet-Annotation über der Code-Annotation, um die Anforderungsmethode und die Routing-Adresse der Schnittstelle zu beschreiben, und fügen Zusammenfassung, Tags, Parameter, Antwort und andere Anmerkungen hinzu, um den Swagger mitzuteilen Tool mehr über die Schnittstelle anderer Details.

  1. Swagger-Dokumentation generieren

Nach Abschluss des Schreibens der Swagger-Anmerkungen können wir eine Swagger-API-Dokumentation generieren. Öffnen Sie das Terminal, geben Sie das Laravel-Projektverzeichnis ein und geben Sie den folgenden Befehl ein, um das Dokument zu generieren:

php artisan l5-swagger:generate

Nach der Ausführung wird das Swagger-API-Dokument automatisch generiert und kann über den Browser http aufgerufen werden ://your_host/api /documentation Dokumentation anzeigen. Auf dieser Seite werden alle unsere API-Schnittstellen angezeigt, einschließlich Anforderungsmethoden, Parameter, Rückgabeergebnisse und anderer Details.

  1. Testen Sie die API-Schnittstelle

Nachdem wir das Schreiben und Anzeigen des API-Dokuments abgeschlossen haben, müssen wir auch die API-Schnittstelle testen. In der API-Dokumentation von Swagger können wir eine API-Schnittstelle testen, indem wir auf die Schaltfläche „Ausprobieren“ klicken. Hier können wir die Anforderungsparameter manuell eingeben und dann auf die Schaltfläche „Ausführen“ klicken, damit die Anforderung automatisch eine Anforderung an den Server initiiert und das Antwortergebnis anzeigt. Auf diese Weise können wir die API-Schnittstelle über das Swagger-Tool testen.

Zusammenfassung

Mit der Integration von Swagger PHP und Laravel ist es sehr bequem, perfekte API-Schnittstellendokumente zu schreiben, und die Schnittstelle kann getestet werden. In praktischen Anwendungen kann das Swagger-Tool die Entwicklungseffizienz erheblich verbessern und das Auftreten von Fehlern reduzieren. Entwicklern wird empfohlen, das Swagger-Tool so schnell wie möglich einzuführen, um die Verwaltung und Wartung von API-Schnittstellen zu verbessern und dadurch die Zuverlässigkeit und Stabilität von Anwendungen zu verbessern.

Das obige ist der detaillierte Inhalt vonPHP und Laravel lassen sich integrieren, um die Dokumentation und Tests der Swagger-Schnittstelle zu implementieren. 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