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

Spring Boot3.1.4迁移后FeignClient读取application.yaml URL失败如何修复

问题分析与解决方案

核心问题

  1. 配置文件结构错误:你的application.yaml中,cloud节点未归属于spring根节点,且url的缩进层级错误,导致配置无法被Spring正确加载。
  2. 占位符与配置key不匹配:代码中使用${spring.cloud.openfeign.client.config.new-common-service.url}作为占位符,但原配置文件缺少spring前缀,Spring无法解析该占位符,直接将未替换的字符串作为URL,引发格式错误。

修复步骤

1. 修正application.yaml配置

调整为正确的层级结构,确保cloud属于spring节点,且url是new-common-service的子配置项,同时给URL加上http://前缀避免自动补全异常:

spring:
  cloud:
    openfeign:
      client:
        config:
          new-common-service:
            url: http://localhost:9090/serve

2. 验证FeignClient代码

你的FeignClient代码中的占位符已经和修正后的配置key匹配,无需修改:

@FeignClient(name = "new-common-service", url = "${spring.cloud.openfeign.client.config.new-common-service.url}")
public interface NewCommonServiceClient {
    @GetMapping(value = "/test")
    ResponseEntity<?> testRequest();
}

3. 额外说明

Spring Cloud 2022.0.3(Kilburn版本)默认用Spring Cloud LoadBalancer替代了Ribbon,但你当前场景是直接指定URL无需负载均衡,只要配置正确即可正常运行,无需额外调整负载均衡相关设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:52:38