1. 程式人生 > >springcloud系列14——Eureka、Ribbon和Feign常見問題和解決

springcloud系列14——Eureka、Ribbon和Feign常見問題和解決

1.修改System Status的Environment和Data Center

如圖:

增加如下配置:

eureka:
  environment: product
  datacenter: spring cloud

或者在啟動時使用-Deureka.datacenter=spring cloud這種方式來指定。

2.Eureka配置instanceId顯示IP

eureka:
  instance:
    instance-id:
    # 顯示應用名稱:ip地址:埠號
    ${spring.application.name}:${spring.cloud
.client.ipAddress}:${server.port}

3.Consider defining a bean of type ‘com.tommy.config.feign.UserFeignClient’ in your configuration.

在@EnableFeignClients註解上增加UserFeignClient所在的package。
即:

@EnableFeignClients({"com.tommy.config.feign"})

4.使用RestTemplate呼叫服務提供方返回List的服務問題

這裡是在百度雲視訊第18節中看到的,比如服務提供方定義了一個介面返回List,呼叫方使用RestTemplate呼叫時返回的並不是List。

即下面的程式碼是錯誤的:

List<User> list = this.restTemplate.getForObject("http://microservice-springcloud-user/user/list",List.class);

應該改成

User[] users = this.restTemplate.getForObject("http://microservice-springcloud-user/user/list",User[].class);

List<User> list = Arrays.asList(users);

不過,我本地測試沒有出現這個問題。