Für einige in PHP geschriebene REST-APIs wurde ich gebeten, eine Swagger- Dokumentation zu erstellen. Da mir keine einfache Möglichkeit bekannt war, diesen vorhandenen APIs Anmerkungen hinzuzufügen und eine solche Dokumentation zu erstellen, habe ich diesen Editor verwendet , um einige zu generieren.
Ich habe die mit diesem Editor erstellten JSON- und YAML-Dateien gespeichert und muss nun die endgültige interaktive Swagger-Dokumentation erstellen (diese Aussage klingt möglicherweise naiv und vage).
Kann mir bitte jemand mitteilen, wie ich die Swagger JSON-Spezifikationsdatei in die tatsächliche Swagger-Dokumentation konvertieren kann?
Ich bin auf der Windows-Plattform und weiß nichts über Ant / Maven.
yaml
swagger
swagger-php
Salil
quelle
quelle
Antworten:
Ich war nicht zufrieden damit,
swagger-codegen
als ich nach einem Werkzeug suchte, also schrieb ich mein eigenes. Schauen Sie sich Bootprint-Swagger anDas Hauptziel im Vergleich zu
swagger-codegen
ist die Bereitstellung einer einfachen Einrichtung (obwohl Sie nodejs benötigen). Und es sollte einfach Styling und Vorlagen an die eigenen Bedürfnisse anzupassen sein, was eine Kernfunktionalität der ist Stiefelabdruck -projectquelle
spectacle
viel besser aussehende Dokumentation vonVersuchen Sie, redoc-cli zu verwenden .
Ich war mit Stiefelabdruck-OpenAPI von dem ich eine Reihe von Dateien (Erzeugung
bundle.js
,bundle.js.map
,index.html
,main.css
undmain.css.map
) und dann können Sie es in eine einzige konvertieren.html
Datei mit HTML-Inline eine einfache generierenindex.html
Datei.Dann fand ich redoc-cli sehr einfach zu bedienen und die Ausgabe ist wirklich großartig, eine einzelne und schöne index.html- Datei.
Installation :
Verwendung :
quelle
npx redoc-cli ...
ist zuverlässiger.Schauen Sie sich Pretty-Swag an
Es hat
Ich habe mir Swagger Editor angesehen und dachte, es könnte das Vorschaufenster exportieren, aber es stellte sich heraus, dass dies nicht möglich ist. Also habe ich meine eigene Version davon geschrieben.
Vollständige Offenlegung: Ich bin der Autor des Tools.
quelle
allOf
in dem Dokument führtundefined
selbst in den einfachsten Szenarien zu einem "Zusammenführen" eines einzelnen Objekts, was einer Nichtverwendung entsprichtallOf
.allOf
Funktion für Sie. Hör zu.Siehe das swagger-api / swagger-codegen- Projekt auf GitHub; Das Projekt README zeigt, wie man damit statisches HTML generiert. Siehe Generieren einer statischen HTML-API-Dokumentation .
Wenn Sie die Datei swagger.json anzeigen möchten, können Sie die Swagger-Benutzeroberfläche installieren und ausführen. Sie stellen es einfach auf einem Webserver bereit (dem dist-Ordner, nachdem Sie das Repo von GitHub geklont haben) und zeigen die Swagger-Benutzeroberfläche in Ihrem Browser an. Es ist eine JavaScript-App.
quelle
Alles war zu schwierig oder schlecht dokumentiert, also habe ich dies mit einem einfachen Skript swagger-yaml-to-html.py gelöst , das so funktioniert
Dies ist für YAML, aber es ist auch trivial, es so zu ändern, dass es mit JSON funktioniert.
quelle
Ich habe viel Zeit verbracht und viele verschiedene Lösungen ausprobiert - am Ende habe ich es so gemacht:
Sie müssen nur den Pfad / to / my / swagger.yaml vom selben Ort aus bedienen lassen .
(oder verwenden Sie CORS-Header)
quelle
Sie können swagger ui auch herunterladen von: https://github.com/swagger-api/swagger-ui , nehmen Sie den dist-Ordner, ändern Sie index.html: ändern Sie den Konstruktor
in
Jetzt enthält der dist-Ordner alles, was Sie brauchen, und kann unverändert verteilt werden
quelle
Schauen Sie sich diesen Link an: http://zircote.com/swagger-php/installation.html
Wenn Sie weitere Hilfe benötigen, wenden Sie sich bitte an uns.
quelle
Es gibt ein kleines Java-Programm, das Dokumente (adoc oder md) aus einer yaml-Datei generiert.
Leider unterstützt es nur OpenAPI 2.0 , nicht jedoch OpenAPI 3.0 .
quelle
Für Swagger API 3.0 funktioniert das Generieren von HTML2-Clientcode aus dem Online-Swagger-Editor hervorragend für mich!
quelle