Документация Swagger, созданная с помощью плагина, содержит неверные модели
Недавно я начал документировать свой проект с помощью 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.