buh*_*buh 5 java spring spring-boot spring-cloud spring-cloud-feign
我目前有两个服务正在 Eureka 服务器上注册,分别为 RESTAURANT 和 MENU。

这些名称在每个服务的 boostrap.yml 文件中定义为:
spring:
application:
name: menu
Run Code Online (Sandbox Code Playgroud)
然而,当涉及到使用Netflix的Feign时,我在注释中输入应用程序名称,如下所示:
@FeignClient("MENU")
public interface MenuClient {
@RequestMapping(value = "/restaurants/{restaurantId}/menu", method = RequestMethod.GET, consumes = "application/json")
public Menu getMenu(@PathVariable("restaurantId") final Long restaurantId);
}
Run Code Online (Sandbox Code Playgroud)
这最终导致 URL 没有映射到 eureka 服务,而是映射到http://MENU。

我确认,如果我在注释中对 url 进行硬编码,那么假客户端可以工作,但这会阻止我为我的服务生成随机端口。
我在这里缺少什么?该假冒客户位于 RESTAURANT 服务中。
我的餐厅服务主课
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
public class RestaurantApplication {
public static void main(String[] args) {
SpringApplication.run(RestaurantApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1636 次 |
| 最近记录: |