我有一个用@ApiModel注释的类。它包含一个作为接口的属性,并且带有@ApiModel注释的实现也位于另一个jar中。
示例:
@ApiModel(description = "Container Object")
public class ContainerObject {
@ApiModelProperty(value = "generic field")
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type")
private CustomData customData;
}
自定义数据是一个空的Pojo。其实现如下:
@ApiModel
public class CustomDataX extends CustomData {
@ApiModelProperty(value = "this is my super attribute")
private String myAttribute;
}
现在我的Swagger配置如下:
@Startup
@ApplicationPath("/api")
public class JaxRsActivator extends Application {
public JaxRsActivator() {
super();
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setSchemes(new String[] { "http" });
beanConfig.setBasePath("/api");
beanConfig.setResourcePackage("ag.company.x");
beanConfig.setScan(true);
}
}
不幸的是,CustomDataX没有显示在生成的Swagger json中。我正在使用1.5.22版的swagger-jaxrs。
您知道如何解决此问题吗?
编辑:我已经按照this stackoverflow post中的描述向swagger-annotation添加了提供的依赖项。没用。
关于, 六甲