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

标签 java spring spring-boot ff4j

我的 Spring Boot 应用程序需要 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;
  • 如果您使用 bean 名称 api,则发生 cg-lib 冲突;
  • swagger 冲突,因为同一 spring 上下文中有两个不同的 Docket Bean;

    1. 首先,我尝试以类似的方式排除 ff4j-spring 自动配置配置步骤,但例如排除 swagger 。如果没有他们的招摇,应用程序无法启动 ff4j。这很困惑。

    2. 寻找不同的解决方案,我尝试遵循一些建议 like但我在申请时遇到了缺课的不同问题。错过的类(class)位于 thymeleaf5 中。我无法使用 thymeleaf5 ,因为它使用相同的名称接口(interface)但不同的参数。其他解决方法使我的应用程序因 hibernate 而失败。

Swagger 解决方案是:

在您的配置中从 ff4j 注入(inject) swagger Docket:

@Autowired
Docket api;

并使用 @PostConstruct block 中的配置重写 api 。这个解决方案并不优雅,但提供了对 swagger 配置的修复。

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

附注

在招摇问题之后,我有更多 Unresolved 元素(但这将是一个不同的问题)。

PS2。

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

关于java - Spring boot FF4j ff4j-spring-boot-starter 不包括 swagger 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55460707/

相关文章:

java - 使用文字初始化类对象

java - 如何遍历 ArrayList of Objects 的对象 ArrayList?

spring - 将 xml 定义中的其他 bean 添加到已在运行时初始化的应用程序上下文中

java - 形成pojo来解析JSON

spring-boot - 如何组合多个 Spring Boot Web 应用程序?

java - 您的内容必须有一个 TabHost,其 id 属性为 'android.R.id.tabhost' 错误与 android 应用程序

java - 与某些函数进行“或”运算为真

java - Spring Zuul 网关 - 带有 Spring Cache Redis

java - Hibernate集合在持久化后为NULL

javascript - 将 Blob 数据作为 MultipartFile 从 Angular6 客户端发送到 Spring Boot API