Spring 启动 FF4j ff4j-spring-boot-starter 不包括 swagger 文档

Spring boot FF4j ff4j-spring-boot-starter excluding swagger doc

我需要在我的 spring 启动应用程序中 FF4j。我试试

<dependency>
  <groupId>org.ff4j</groupId>
  <artifactId>ff4j-spring-boot-starter</artifactId>
  <version>1.8</version>
</dependency>

在这种情况下,我的应用程序因 swagger 而被破坏。

我可以从我的配置中排除 org.ff4j.spring.boot.web.api.config.SwaggerConfig 吗?

我试图管理它,但由于新的不同问题无法达成最终解决方案。

如果你在你的应用程序中配置 swagger 通常情况下它会因为不同的原因而失败。可能的下一个:

  • spring 需要解决应该使用哪个 swagger bean;
  • cg-lib 冲突,如果你使用了 bean 名称 api;
  • swagger 冲突,因为两个不同的 Docket bean 在同一个 spring 上下文中;

    1. 首先,我尝试以类似的方式排除 ff4j-spring 自动配置配置步骤,但例如排除 swagger。没有他们的招摇,应用程序无法启动 ff4j。真是一头雾水

    2. 寻找不同的解决方案我尝试遵循一些建议 like 但我遇到了不同的问题,我的应用程序遗漏了 class。错过 class 在 thymeleaf5。我不能使用 thymeleaf5 因为它使用相同的名称接口但参数不同。其他解决方法使我的应用程序因休眠而失败。

Swagger 解决方案是:

在您的配置中从 ff4j:

注入 swagger Docket
@Autowired
Docket api;

并在 @PostConstruct 块中使用您的配置重写 api。此解决方案并不优雅,但为 swagger 配置提供了修复。

@PostConstruct
public void reconfigureSwagger() {
  api....
}

P.S.

在 swagger 问题之后,我有更多未解决的元素(但这将是一个不同的问题)。

P.S.2.

FF4j 库提供了很棒的 UI 和想法,这就是为什么我不回避它的头痛的一般原因。