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!
Mögliches Duplikat von [Swagger Vererbung und Zusammensetzung] (http://stackoverflow.com/questions/27862407/swagger-inheritance-and-composition) –