2017-03-17 7 views
1

Ich habe eine Klasse "SubModel", die von der Klasse "SuperModel" erbt. Meine REST-Anfrage gibt ein Objekt einer dieser Klassen zurück. Jetzt möchte ich dokumentieren, dass in meiner Swagger-Benutzeroberfläche entweder ein Objekt von SubModel ODER ein Objekt von SuperModel zurückgegeben wird. Ich googelte für diesen Anwendungsfall und fand die @ ApiModel Annotationen, aber sie funktionieren nicht, hat jemand eine Idee, was ich hier falsch mache? nurSwagger zeigt keine geerbten Objekte

@ApiModel(value = "SuperModel", discriminator = "foo", subTypes = { 
SubModel.class }) 
public class SuperModel 
{ 
    @ApiModelProperty(required = true) 
    private String foo; 

    public String getFoo() { 
     return this.foo; 
    } 

    public void setFoo(String foo) { 
     this.foo = foo; 
    } 
} 

@ApiModel(value = "SubModel") 
public class SubModel extends SuperModel 
{ 
    private int number; 

    public int getNumber() { 
     return this.number; 
    } 

    public void setNumber(int number) { 
     this.number = number; 
    } 
} 

Was ich in Swagger UI sehen ist:

SuperModel { 
    foo (string) 
} 

ich das Beispiel an dieser Stelle gefunden: https://github.com/swagger-api/swagger-core/wiki/Annotations#apiresponses-apiresponse aber es tut :-(

Irgendwelche Ideen arbeiten Dank viel!

+0

Mögliches Duplikat von [Swagger Vererbung und Zusammensetzung] (http://stackoverflow.com/questions/27862407/swagger-inheritance-and-composition) –

Antwort

Verwandte Themen