我最近开始使用Swagger记录我的项目,并且已经对其进行设置,以便在构建过程中生成文档。为此,我使用了swagger-maven-plugin 3.1.5以及swagger-core 1.5.16和swagger-jaxs 1.5.16。
方法文档的生成按预期工作,但是要记录的模型是完全错误的。它不仅包括我的带注释的模型,而且似乎还包括带注释的类中使用的所有Java类。
例如,我有一个包含3个字段的类,需要记录。该类扩展了另一个类,该类来自第三方框架,并且具有一些用于元信息的通用字段。我不希望包含这些字段,但是仍然包含它们。另一个错误的是,根本没有注释的类都包含在模型中。例如Java的“消费者”或“谓词”。
示例类层次结构:
@ApiModel
public class ClassIWantDocumented extends ClassIDoNotWantDocumented {
@ApiModelProperty(...)
public String iWantThisDocumented;
@ApiModelProperty(...)
public String thisToo;
}
public class ClassIDoNotWantDocumented {
public String metaPropertyOne;
public String metaPropertyTwo;
}
如果要在我当前的Swagger中记录以上层次结构,则包括ClassIWantDocumented的带注释字段和ClassIDoNotWantDocumented的字段。