Tengo una clase "SubModelo" que hereda de la clase "SuperModelo". Mi solicitud REST devuelve un objeto de una de estas clases. Ahora quiero documentar que en mi interfaz de usuario de Swagger se devolverá un objeto de SubModel O un objeto de SuperModel. Busqué en Google este caso de uso y encontré las anotaciones @ApiModel pero no funcionan, ¿alguien tiene idea de lo que estoy haciendo mal aquí?
@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; } }Lo que veo en la interfaz de usuario de Swagger es solo:
SuperModel { foo (string) }Encontré el ejemplo en este sitio: https://github.com/swagger-api/swagger-core/wiki/Annotations#apiresponses-apiresponse pero no funciona :-(
¿Algunas ideas? ¡Muchas gracias!
Esto aún no es compatible con springfox. Consulte https://github.com/springfox/springfox/issues/868
Sí, es confuso, ya que tienen anotaciones con atributos como "discriminador" y "subtipos", pero no funcionan.
ACTUALIZACIÓN: el problema se cerró mientras tanto (en marzo de 2018) y debería funcionar en Springfox> = 2.9.0 (no lo he probado yo mismo)