Spring cloud Spring Cloud Netflix假装工作不正常
尝试使用带Eureka和Ribbon的外国客户端- 使用名为“测试服务”的Eureka注册服务 能够成功地使用Ribbon和Eureka,如下所示-Spring cloud Spring Cloud Netflix假装工作不正常,spring-cloud,netflix-eureka,spring-cloud-netflix,netflix-feign,netflix-ribbon,Spring Cloud,Netflix Eureka,Spring Cloud Netflix,Netflix Feign,Netflix Ribbon,尝试使用带Eureka和Ribbon的外国客户端- 使用名为“测试服务”的Eureka注册服务 能够成功地使用Ribbon和Eureka,如下所示- @Autowired private LoadBalancerClient loadBalancer; public void getEmployee() throws RestClientException, IOException { ServiceInstance serviceInstance=loadBalancer.choo
@Autowired
private LoadBalancerClient loadBalancer;
public void getEmployee() throws RestClientException, IOException {
ServiceInstance serviceInstance=loadBalancer.choose("test-service");
String baseUrl=serviceInstance.getUri().toString();
baseUrl=baseUrl+"/test";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response=null;
try{
response=restTemplate.exchange(baseUrl,
HttpMethod.GET, getHeaders(),String.class);
}
@FeignClient(name="test-service")
public interface RemoteCallService {
@RequestMapping(method=RequestMethod.GET, value="/test")
public String resp();
}
@Autowired
private RemoteCallService loadBalancer;
public void getEmployee() throws RestClientException, IOException {
String data=loadBalancer.resp();
}
然后用假动作打电话如下-
@Autowired
private LoadBalancerClient loadBalancer;
public void getEmployee() throws RestClientException, IOException {
ServiceInstance serviceInstance=loadBalancer.choose("test-service");
String baseUrl=serviceInstance.getUri().toString();
baseUrl=baseUrl+"/test";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response=null;
try{
response=restTemplate.exchange(baseUrl,
HttpMethod.GET, getHeaders(),String.class);
}
@FeignClient(name="test-service")
public interface RemoteCallService {
@RequestMapping(method=RequestMethod.GET, value="/test")
public String resp();
}
@Autowired
private RemoteCallService loadBalancer;
public void getEmployee() throws RestClientException, IOException {
String data=loadBalancer.resp();
}
但这是行不通的。虚假URL的格式不正确。
在调试时,假客户端具有以下值-
硬编码目标(类型=RemoteCallService,名称=测试服务,url=)
谁能告诉我我错过了什么
谢谢您的依赖关系是什么?如果您有
spring cloud starter ribbon
,它应该自动配置FIGN来解析正确的url。是否有spring cloud starter ribbon、spring cloud starter eureka、spring cloud starter FIGN依赖项。您需要提供一个重新创建问题的示例。您的依赖项是什么?如果您有spring cloud starter ribbon
,它应该自动配置FIGN来解析正确的url。请务必有spring cloud starter ribbon、spring cloud starter eureka、spring cloud starter FIGN依赖项。您需要提供一个重新创建问题的示例。