You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Spring Boot 3时缺失LinkRelationProvider Bean问题求助

问题原因

Spring Boot 3升级后,springdoc-openapi与Spring HATEOAS的版本适配出现冲突:

  • Spring Boot 3对应Spring HATEOAS 2.0+版本,而适配Spring Boot 2.x的旧版springdoc-openapi(v1.x)在Spring Boot 3环境下,无法正确触发LinkRelationProvider Bean的自动注册逻辑。
  • 若你的pom.xml中仍使用v1.x的springdoc-openapi-starter-webmvc-ui,就会出现该Bean找不到的启动错误。

解决方案

1. 升级springdoc-openapi到适配Spring Boot 3的版本

将springdoc-openapi-starter-webmvc-ui替换为v2.x版本(完全适配Spring Boot 3和Jakarta EE),示例依赖配置:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.0.2</version>
</dependency>

该版本会自动处理Spring HATEOAS的Bean依赖,无需额外配置即可解决启动报错。

2. 检查Spring HATEOAS自动配置是否被禁用

确认你的启动类没有排除SpringHateoasAutoConfiguration,如果存在类似@SpringBootApplication(exclude = SpringHateoasAutoConfiguration.class)的配置,需要移除排除项,让Spring自动完成LinkRelationProvider的Bean注册。

3. 手动注册Bean(兜底方案)

若上述方案无效,可在自定义配置类中手动注册LinkRelationProvider:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.hateoas.server.DefaultLinkRelationProvider;
import org.springframework.hateoas.server.LinkRelationProvider;

@Configuration
public class HateoasConfig {
    @Bean
    public LinkRelationProvider linkRelationProvider() {
        return new DefaultLinkRelationProvider();
    }
}

内容的提问来源于stack exchange,提问作者Bruce_Wayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:01:23