Springfox отображает дубликаты моделей в пользовательском интерфейсе Swagger - PullRequest
0 голосов
/ 12 июня 2019

У меня есть две модели Package и File. Оба являются объектами JPA, которые аннотируются @ApiModel. Также между ними существует связь ManyToMany.

Существуют и другие классы, которые ссылаются на Package и File.

Я уже добавил значение в аннотацию @ApiModel.

@ApiModel(value = "the package")
public class Package {

   @ManyToMany(cascade = {
        CascadeType.PERSIST,
        CascadeType.MERGE
    })
    @JoinTable(
        name = "file_package",
        joinColumns = @JoinColumn(name = "file_id"),
        inverseJoinColumns = @JoinColumn(name = "package_id")
    )
    @ApiModelProperty(name = "The list of files")
    private List<File> files = new ArrayList<>();

}

В интерфейсе пользователя swagger (localhost: 8080 / swagger-ui.html # /) модель пакета отображается в 3 раза следующим образом:

Пакет Package_1 Package_2 Package_3

Странная часть в том, что если я создаю REST-контроллер, который использует Package или File, я получаю эту ошибку:

java.lang.IllegalStateException: Неоднозначное моделирование равенства, когда условия пусты. at springfox.documentation.spring.web.scanners.ApiModelReader.checkCondition (ApiModelReader.java:655). в springfox.documentation.spring.web.scanners.ApiModelReader.mergeConditions (ApiModelReader.java:537). в springfox.documentation.spring.web.scanners.ApiModelReader.mergeModelBranch (ApiModelReader.java:236). at springfox.documentation.spring.web.scanners.ApiModelReader.read (ApiModelReader.java:149). at springfox.documentation.spring.web.scanners.ApiListingScanner.scan (ApiListingScanner.java:144)

...