springboot和swagger版本匹配后仍报错

Description:

Parameter 0 of method linkDiscoverers in org.springframework.hateoas.config.HateoasConfiguration required a single bean, but 15 were found:
        - modelBuilderPluginRegistry: defined in null
        - modelPropertyBuilderPluginRegistry: defined in null
        - typeNameProviderPluginRegistry: defined in null
        - documentationPluginRegistry: defined in null
        - apiListingBuilderPluginRegistry: defined in null
        - operationBuilderPluginRegistry: defined in null
        - parameterBuilderPluginRegistry: defined in null
        - expandedParameterBuilderPluginRegistry: defined in null
        - resourceGroupingStrategyRegistry: defined in null
        - operationModelsProviderPluginRegistry: defined in null
        - defaultsProviderPluginRegistry: defined in null
        - pathDecoratorRegistry: defined in null
        - relProviderPluginRegistry: defined by method 'relProviderPluginRegistry' in class path resource [org/springframework/hateoas/config/HateoasConfiguration.class]
        - linkDiscovererRegistry: defined in null
        - entityLinksPluginRegistry: defined by method 'entityLinksPluginRegistry' in class path resource [org/springframework/hateoas/config/WebMvcEntityLinksConfiguration.class]


Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
	<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.2</version>
</dependency>


<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.4.3</version>
		<relativePath/> <!-- lookup parent from repository -->
</parent>

 有友友知道怎么回事吗

### Spring Boot 集成 Swagger2 常见问题及解决方案 #### 1. 版本兼容性问题 对于Spring Boot 2.6及以上版本集成Swagger3可能出现冲突的情况,一种方法是将Spring Boot版本降级至2.6以下。然而更推荐的做法是在`application.yml`中加入特定配置来保持高版本的同时解决问题: ```yaml spring: mvc: pathmatch: matching-strategy: ant_path_match器 ``` 此设置可以有效规避路径匹配策略带来的不兼容问题[^1]。 #### 2. 启用 Swagger 功能 为了使Swagger能够正常工作,在主应用程序类上需添加注解以激活该特性。具体来说就是使用`@EnableSwagger2`这一来自`springfox.documentation.swagger2.annotations`包下的注解来开启Swagger2的支持[^2]。 另外,通过条件表达式的运用可以在不同的运行环境中灵活控制Swagger的功能开关。例如利用`@ConditionalOnExpression("${swagger.enable:true}")`实现基于配置项的状态切换,即只有当应用属性中的`swagger.enable`被设为`true`时才会加载并初始化与Swagger有关的服务组件[^3]。 #### 3. 实体模型控制器层的调整 为了让API文档更加清晰易懂,建议对业务逻辑层面的对象以及对应的RESTful接口进行适当标注。比如给实体字段加上描述性的标签,或是为操作方法指定HTTP请求方式、参数说明等内容。这不仅有助于提高开发效率,也能让第三方开发者更容易理解系统的交互细节。 #### 4. 访问UI页面失败 完成上述步骤之后重启服务,并尝试访问形如`http://localhost:<port>/swagger-ui.html`这样的URL地址查看自动生成的在线帮助文档。如果遇到无法打开网页的问题,则可能是由于端口占用或其他网络因素引起;此时应检查服务器状态日志排查可能存在的异常情况[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值