У меня есть две модели 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)