2017-06-15 4 views
1

Ich verwende eine Spring-Boot-Anwendung und habe mit Swagger UI konfiguriert.Sample Beispiel in Swagger UI generieren (im Spring-Boot-Projekt)

Ich möchte wissen, ob wir den Beispielwert mit Beispielwert vorbelegen könnten, damit wir das "Probieren Sie es aus!" Schaltfläche, ohne einige Beispielwerte eingeben zu müssen, um eine Antwort zu erhalten.

Es muss dort vorhanden sein.

Gibt es eine Möglichkeit, dies mithilfe von Anmerkungen oder einer separaten Datei, die Swagger verwendet, zu erreichen?

Ich benutze ein Spring Boot-Projekt mit Springfox-Swagger2: 2.7.0 und Springfox-Swagger-Ui: 2.7.0 mit Abhängigkeiten hinzugefügt mit Gradle.

Antwort

2

Da die @ApiParam Eigenschaften example und examples nicht funktionieren (siehe this issue on GitHub), ist die Unterstützung für das Hinzufügen von Beispielen eingeschränkt/nicht vorhanden.

Was Sie für einfache Parameter tun können (@RequestParam) ist die @ApiParam Anmerkung mit dem defaultValue Eigenschaft hinzuzufügen, wie folgt aus:

@GetMapping 
public List<Foo> findAll(
     @RequestParam(required = false) 
     @ApiParam(defaultValue = "foo") // Put the default value here 
     String input) { 
    // ... 
} 

Allerdings gibt es keine Unterstützung noch für diese mit @RequestBody Parameter zu tun.

Eine mögliche Abhilfe für @RequestBody Parameter ist durch an der rechten Seite des Swagger tester auf dem Codefeld klicken, wo es heißt Beispielwert. Wenn Sie darauf klicken, wird das Beispiel in das Feld selbst eingefügt.

+0

Danke, ich werde mich darum kümmern. Inzwischen lese ich gerade über swashbuckle hier https://mattfrear.com/2015/04/21/generating-swagger-example-responses-with-swashbuckle/ aber es scheint, dass es für .NET nur ist. Alles verfügbar für Java Spring. –

+0

Ziemlich sicher Springfox ist der beste Ansatz, um Swagger Docs für Spring zu generieren. – g00glen00b

+0

Es ist ziemlich einfach, es über Plugins mit Beispielen zu verbinden. Aber für Ihren Bedarf würde @ g00glen00b's Vorschlag großartig funktionieren !! –