Nacos 服务发现-服务消费者 使用 feign 调用 服务生产者时报错 java.lang.IllegalStateException: Service id not legal hostname (quickstart_provider) 解决方法:

1、问题描述:

在使用 Nacos 服务发现,编写服务消费者代码时,使用 @@FeignClient(value = “quickstart_provider”) 注解,
运行启动类,报错
java.lang.IllegalStateException: Service id not legal hostname (quickstart_provider)

在这里插入图片描述

2、原因分析:

@FeignClient 注解不支持名字带下划线,即不支持 @FeignClient(value = “quickstart_provider”)
而要修改为:@FeignClient(value = “quickstart-provider”)

在这里插入图片描述

3、解决方法:

1)修改 FeignClient 客户端 相关类,如 ProviderClient.java 类中 @FeignClient 注解的调用名。

// # 注意 FeignClient 不支持名字带下划线,即不支持 quickstart_provider
// @FeignClient(value = “quickstart_provider”) // error, 会报错
@FeignClient(value = “quickstart-provider”) // successful

在这里插入图片描述

2)修改 配置文件 application.yml 中的服务名

name: quickstart-provider #spring应用名, # 注意 FeignClient 不支持名字带下划线,即不支持 quickstart_provid

在这里插入图片描述

3)修改完重启 启动类,再次运行测试。

更多推荐