Springfox在swagger ui中显示重复的模型

时间:2019-06-11 23:40:06

标签: spring-rest springfox

我有两个模型Package和File。两者都是用@ApiModel注释的JPA实体。它们之间也存在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 ui(localhost:8080 / swagger-ui.html#/)中,Package模型出现3次,如下所示:

包装 配套_1 套餐_2 Package_3

奇怪的是,如果我创建一个使用Package或File的REST控制器,则会出现此错误:

java.lang.IllegalStateException:条件为空时模棱两可的模型。     在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)     在springfox.documentation.spring.web.scanners.ApiModelReader.read(ApiModelReader.java:149)     在springfox.documentation.spring.web.scanners.ApiListingScanner.scan(ApiListingScanner.java:144)

1 个答案:

答案 0 :(得分:0)

还是个未解决的问题

与弹簧数据静止有关。希望在下一版本中进行修复。

https://github.com/springfox/springfox/issues/3014?_pjax=%23js-repo-pjax-container