Heim > Backend-Entwicklung > PHP-Tutorial > Integrieren Sie die Swagger-Benutzeroberfläche mit Codeigniter4

Integrieren Sie die Swagger-Benutzeroberfläche mit Codeigniter4

DDD
Freigeben: 2024-12-21 14:13:10
Original
148 Leute haben es durchsucht

Integrate Swagger UI with Codeigniter4

Swagger ist ein weit verbreitetes API-Dokumentations- und Testtool, das sich nahtlos in beliebte Web-Frameworks wie Laravel, Spring Boot, CodeIgniter und ExpressJS integrieren lässt. In diesem Artikel konzentrieren wir uns auf die Integration von Swagger mit CodeIgniter.

Abhängigkeiten installieren:

composer require zircote/swagger-php doctrine/annotations
Nach dem Login kopieren
Nach dem Login kopieren

Laden Sie das SwaggerUI .zip- oder SwaggerUI GitHub-Repo herunter:

  • Download-Link: Neueste SwaggerUI-Versionen Laden Sie die Swagger-UI-Version herunter, die Ihren Anforderungen am besten entspricht.

Schreiben des Controllers:

Um die Datei swagger.json für die Swagger-Benutzeroberfläche zu generieren, müssen wir einen Controller erstellen. Benennen Sie den Controller nach Ihren Wünschen, wir geben ihm SwaggerDocGenerator.php. Im Controller müssen wir OpenApiGenerator von zircote/swagger-php verwenden, um die gesamte @OA-Syntax in JSON zu konvertieren.

<?php
namespace App\Controllers;

use OpenApi\Generator;

class SwaggerDocGenerator extends BaseController
{
    /**
     * Generate OpenAPI documentation for the API ...
     * @return string
     */
    public function generate(): string
    {
        // Specify the path where your API controllers are located
        $openapi = Generator::scan([APPPATH . 'Controllers']);

        $swaggerContent = $openapi->toJson();

        // Save the generated OpenAPI content to a file
        $filePath = FCPATH . 'swagger_ui/swagger.json';
        file_put_contents($filePath, $swaggerContent);

        return $swaggerContent;
    }

    /**
     * Render the SwaggerUI ...
     * @return string
     */
    public function index()
    {
        return view('swagger_docs/index');
    }
}

?>
Nach dem Login kopieren

Routen erstellen:

Durch das Erstellen einer Route auf Config/Routes.php können wir die erwartete Datei sawgger.json generieren.

// Create API documentation ...
$routes->get('api/v1/docs/generate', 'SwaggerDocGenerator::generate');
$routes->get('api/v1/docs/ui', 'SwaggerDocGenerator::index');
Nach dem Login kopieren

Rendering der Swagger-Benutzeroberfläche:

Es gibt viele Möglichkeiten, Ihre swagger.json-Datei in SwaggerUI zu rendern:

  • Importieren der Datei swagger.json in den POSTMAN.
  • Verwenden Sie die SwaggerUI mit Ihren eigenen Ansichten, um die SwaggerUI zu rendern.
  • Richten Sie die Umgebung in Ihrer Frontend-Anwendung ein, um die SwaggerUI darzustellen, indem Sie bei der Backend-API die Datei swagger.json anfordern.

Dabei werden wir die ersten beiden Möglichkeiten sehen. Über den dritten Weg werden wir in einem anderen Artikel sprechen.

Importieren der Datei swagger.json in den POSTMAN:

  • Kopieren Sie die swagger.json.
  • Öffnen Sie den POSTMAN.
  • Klicken Sie oben links auf die Schaltfläche „Importieren“.
  • Fügen Sie die kopierte swagger.json ein.

Verwenden der SwaggerUI mit Ihren eigenen Ansichten zum Rendern der SwaggerUI:

  • Erstellen Sie eine .php-Datei in Ihrem Ansichtsordner app/Views/swagger_docs/index.php, um die SwaggerUI zu rendern.
  • Extrahieren Sie die heruntergeladene SwaggerUI-ZIP-Datei in den Ordner public/swagger_ui/.
composer require zircote/swagger-php doctrine/annotations
Nach dem Login kopieren
Nach dem Login kopieren

Notiz:

  • Stellen Sie sicher, dass Sie den PHP-Spark-Serve-Befehl ausführen, um die Codeigniter4-Anwendung auszuführen.
  • Jedes Mal, wenn Sie Änderungen an der Syntax der OpenAPI-Dokumentation vornehmen, müssen Sie die URL http://localhost:8080/api/v1/docs/generate ausführen, um die aktualisierte Datei swagger.json zu generieren.
  • Stellen Sie sicher, dass Sie die Datei swagger-initializer.js mit der aktualisierten URL der Datei swagger.json aktualisieren.

Abschluss:

In diesem Artikel haben wir die Integration von Swagger mit CodeIgniter 4, das Generieren der Datei swagger.json, das Rendern in der Swagger-Benutzeroberfläche und den Import in Postman untersucht. Wir haben auch gezeigt, wie man die Swagger-Benutzeroberfläche in benutzerdefinierten Ansichten rendert. Das manuelle Generieren der Datei swagger.json und das Aktualisieren der URL in der Datei swagger-initializer.js ist jedoch nicht ideal.

Im nächsten Artikel werde ich die Automatisierung dieses Prozesses mithilfe benutzerdefinierter CLI-Befehle demonstrieren und zu diesem Zweck ein Open-Source-Paket entwickeln. Teilen Sie Ihre Vorschläge oder Fragen gerne im Kommentarbereich mit.

Das obige ist der detaillierte Inhalt vonIntegrieren Sie die Swagger-Benutzeroberfläche mit Codeigniter4. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage