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
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'); } } ?>
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');
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
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!

Der Artikel erläutert, wie Schnittstellen in PHP erstellt, implementiert und verwendet werden und sich auf ihre Vorteile für die Organisation von Code und die Wartbarkeit konzentriert.

In dem Artikel werden die Unterschiede zwischen CryPT () und Passage_hash () in PHP für Passwort -Hashing erörtert und sich auf ihre Implementierung, Sicherheit und Eignung für moderne Webanwendungen konzentriert.

In Artikel werden in PHP durch Eingabevalidierung, Ausgabecodierung und Verwendung von Tools wie OWASP ESAPI und HTML-Reinigungsmittel die Verhinderung des Cross-Site-Skripts (XSS) erläutert.

Das Autolading in PHP lädt bei Bedarf die Klassendateien automatisch und verbessert die Leistung durch Reduzierung des Speichergebrauchs und Verbesserung der Codeorganisation. Zu den Best Practices gehört die Verwendung von PSR-4 und das organisierende Code effektiv.

PHP -Streams vereinheitlichen die Handhabung von Ressourcen wie Dateien, Netzwerkhöhlen und Komprimierungsformaten über eine konsistente API, die Komplexität abstrahieren und die Flexibilität und Effizienz der Code verbessern.

In dem Artikel wird das Verwalten von Datei -Upload -Größen in PHP erläutert, wobei der Schwerpunkt auf der Standardgrenze von 2 MB und der Erhöhung der PHP.ini -Einstellungen liegt.

In dem Artikel werden nullbare Typen in PHP erörtert, die in PHP 7.1 eingeführt wurden und ermöglicht, dass Variablen oder Parameter entweder ein angegebener Typ oder ein Null sind. Es zeigt Vorteile wie eine verbesserte Lesbarkeit, Typsicherheit und explizite Absicht und erklärt, wie man deklariert

Der Artikel erörtert die Unterschiede zwischen UNSET () und Unlink () in der Programmierung und konzentriert sich auf ihre Zwecke und Anwendungsfälle. UnSet () entfernt Variablen aus dem Speicher, während Unlink () Dateien aus dem Dateisystem löscht. Beide sind für Effec von entscheidender Bedeutung


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor
