gpt4 book ai didi

java - 为什么我的 swagger 不能在 java 中使用 springboot?

转载 作者:行者123 更新时间:2023-12-02 16:51:10 24 4
gpt4 key购买 nike

请建议如何解决这个问题。我被困在这里。

@Configuration
@EnableSwagger2
public class SwaggerConfig {

@Bean
public Docket api() {

return new Docket(DocumentationType.SWAGGER_2);

}
}

错误信息如下;

  • *************************** 应用程序启动失败


    描述:

    方法 linkDiscoverers 中的参数 0org.springframework.hateoas.config.HateoasConfiguration 需要一个单个 bean,但找到了 17 个:

    • modelBuilderPluginRegistry:在 null 中定义
    • modelPropertyBuilderPluginRegistry:在 null 中定义
    • typeNameProviderPluginRegistry:在 null 中定义
    • syntheticModelProviderPluginRegistry:在 null 中定义
    • documentationPluginRegistry:在 null 中定义
    • apiListingBuilderPluginRegistry:在 null 中定义
    • operationBuilderPluginRegistry:在 null 中定义
    • parameterBuilderPluginRegistry:在 null 中定义
    • expandedParameterBuilderPluginRegistry:在 null 中定义
    • resourceGroupingStrategyRegistry:在 null 中定义
    • operationModelsProviderPluginRegistry:在 null 中定义
    • defaultsProviderPluginRegistry:在 null 中定义
    • pathDecoratorRegistry:在 null 中定义
    • apiListingScannerPluginRegistry:在 null 中定义
    • relProviderPluginRegistry:由类路径资源中的方法“relProviderPluginRegistry”定义[org/springframework/hateoas/config/HateoasConfiguration.class]
    • linkDiscovererRegistry:在 null 中定义
    • entityLinksPluginRegistry:由类路径资源中的方法“entityLinksPluginRegistry”定义[org/springframework/hateoas/config/WebMvcEntityLinksConfiguration.class]

    行动:

    考虑将其中一个 bean 标记为 @Primary,更新消费者接受多个 bean,或者使用 @Qualifier 来标识 bean应该消费

最佳答案

您可以通过添加以下 bean 来更改您的配置类

@Bean
public LinkDiscoverers discoverers() {
List<LinkDiscoverer> plugins = new ArrayList<>();
plugins.add(new CollectionJsonLinkDiscoverer());
return new LinkDiscoverers(SimplePluginRegistry.create(plugins));
}

配置类如下所示:

@Configuration
@EnableSwagger2
public class SwaggerConfig {

@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2);
}

@Bean
public LinkDiscoverers discoverers() {
List<LinkDiscoverer> plugins = new ArrayList<>();
plugins.add(new CollectionJsonLinkDiscoverer());
return new LinkDiscoverers(SimplePluginRegistry.create(plugins));
}
}

关于java - 为什么我的 swagger 不能在 java 中使用 springboot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58653244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com