2016-07-26 3 views
0

Ich verwende Swagger, um eine REST-API zu dokumentieren.Swagger: Entfernen Sie Klasseneigenschaften von Parameterbeispiel Wert

Ich habe eine Klasse wie folgt:

public class Source{ 
    private String url; 
    private String category; 
    private String label; 
    ... 
} 

Ich bin derzeit mit @ApiImplicitParam den Datentyp zu Source.class setzen, aber ich bin mehrere POST-Anfragen, die einen JSON als Körperparameter erhalten mit , können sagen, eine einzelne Variable derer, zum Beispiel:

{"label": "labelA"} 

Wegen des Datentyps eingestellt zuvor angezeigte Beispielwert durch die Swagger UI ist eine ganze Source.class, etwa wie folgt:

{ 
    "url": "string", 
    "category": "string", 
    "label": "string", 
    ... 
} 

Könnte ich den Beispielwert, der von der Swagger-Benutzeroberfläche angezeigt wird, für jede einzelne Anfrage zerhacken? Ich meine, dass die getSourceFromUrl() -Anforderung ein JSON erhalten sollte, das nur ein URL-Feld enthält, und das Beispiel sollte genau dies und nicht die vollständige JSON von Source.class anzeigen.

Vielen Dank im Voraus!

UPDATE

I JAX-RS verwenden. Bitte fragen Sie mich nach mehr Informationen, falls nötig.

+0

Mögliche Duplikat [Ausschließen Modelle oder Objekte Prahlerei Antwort] (https://stackoverflow.com/questions/27777537/exclude-models-or-properties-from- swagger-response) – Helen

Antwort

0

Wenn Sie Springfox-Swagger2 verwenden, gibt es eine Annotation @ApiModelProperty, die dies tut.

Beispiel:

@ApiModelProperty(required = false, hidden = true) 
private String label; 
+0

Vielen Dank für die Antwort. Mein Problem ist, dass ich mehrere Endpunkte habe und ich möchte die gleiche Klasse als Parameter Beispiel Wert für alle von ihnen verwenden, aber mit anderen Eigenschaften der Klasse. Ich benutze JAX-RS (Ich werde meinen Beitrag aktualisieren). P.S .: Ich glaube, dass @ApiModelProperty kann innerhalb der Klasse verwendet werden und es wird alle Endpunkte, die diese Klasse als Beispielwert verwenden. Liege ich falsch? – cr1ng3

Verwandte Themen