wake-up-neo.com

swagger 2 spring boot erzeugt eine yml-datei

Ich bin neu im Bereich Prahlerei, Verträge und arbeite an einem Spring Boot (Gradle) -Projekt, bei dem wir gerade mit dem Umgang mit Verträgen beginnen. Ich habe Grails benutzt, ich mag es, wie man Feld-Defs in die Domain setzen kann und es wird durch den Stack vererbt. 

Eine spezifische Frage und vielleicht auch eine hintergründige Planungsfrage. 

Wie kann ich einen Basis-Stub einer YAML-Datei aus der Standard-Controller-Klasse generieren? 

Ich verstehe, dass ich eine [Name] -v1-0.yml-Datei im Verzeichnis controller\src\test\resources erstellen sollte.

Ich habe die swagger-ui.html in das Projekt implementiert und eine wirklich coole interaktive Webseite wird angezeigt, die Endpunkte und Anforderungspunkte für die Anfrage anzeigt. Verwenden eines class SwaggerConfig extends WebMvcConfigurerAdapter, der die Schnittstellen in der Ui Json Doc-Webseite veröffentlicht. 

Ich glaube, das Verständnis ist, dass die Yml-Datei im Verzeichnis der Testressourcen eine feste Generierung der "Verträge" ist und in einer Art Gradle-Testmethode verwendet wird, um sicherzustellen, dass sich die API-Signatur und die Vertragspunkte wie ein grundlegender Abschluss nicht geändert haben Stiltest der Schnittstelle. (Ja Nein?) 

Ich bin faul hier zu denken, warum hacke ich diese blöde Akte? Kann ein yaml doc-Skelett für mich ziemlich einfach aus den Controller-/Modelldetails generiert werden? 

Zum Beispiel nimmt die Seite eine YML-Datei an und führt die Ui-freundliche Seite aus: http://editor.swagger.io/#/

Es gibt eine wirklich schöne "über" -Beispiel-YAML-Datei auf dieser Seite. Muss ich das wirklich schreiben, schrieb ich bereits den Controller, javadoc, kommentiert, alle möglichen coolen Sachen, die in der Lage sein sollten, zumindest einen ziemlich guten Start-Stub zu erzeugen of the yaml, (ich beschuldige dich, dass du das nicht hacken willst!) Das ist natürlich vor dem Einfügen von SpringFox-Anmerkungen, die mehr coole Sachen machen und wirklich in die Stadt gehen, um diese Testvertragssicherung zu verbessern. 

Zu Ihrer Information: 'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'

7
ken

Ich habe es verstanden. Sehr einfach, warum habe ich das nirgendwo gesehen? :) 

Kopieren Sie den Ressourcenpfad in den Browser:

http://localhost:8095/v2/api-docs?group=full-api

Wählen Sie den generierten Inhalt aus und kopieren Sie ihn in die Zwischenablage.

Öffnen Sie den Swagger Editor in einem Browser:

http://editor.swagger.io

Wählen Sie im Menü Datei den Befehl JSON einfügen.

Fügen Sie den generierten Swagger-JSON-Inhalt ein und klicken Sie auf Importieren.

12
ken

Es gibt eine Funktionsanforderung, um eine yaml-Darstellung der Spezifikationen bereitzustellen: https://github.com/springfox/springfox/issues/651

Neben dem Fortschritt ist es noch nicht verfügbar

2
Didac Montero